Numpy中的linspace()函数用法详解
发布时间:2023-06-26 19:24:29
numpy中的linspace()函数可以生成等间隔离散的一维数组。该函数的语法如下:
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
其中,start表示起始值,stop表示终止值,num表示生成的样本数(默认为50),endpoint表示是否包含终止值(默认为True),retstep表示是否返回样本之间的步长(默认为False),dtype表示生成数组的数据类型(默认为None,自动推断)。
例如,生成一个从0到5的一维数组,包含10个等间隔的样本:
import numpy as np arr = np.linspace(0, 5, 10) print(arr)
输出结果为:
[0. 0.55555556 1.11111111 1.66666667 2.22222222 2.77777778 3.33333333 3.88888889 4.44444444 5. ]
可以看到,生成的数组中包含起始值和终止值,且相邻样本之间的间隔相等。
如果想生成一个从5到0的一维数组,可以设定起始值为5,终止值为0,但需要加上参数endpoint=False,表示不包含终止值:
import numpy as np arr = np.linspace(5, 0, 10, endpoint=False) print(arr)
输出结果为:
[5. 4.44444444 3.88888889 3.33333333 2.77777778 2.22222222 1.66666667 1.11111111 0.55555556 0. ]
可以看到,生成的数组按照从大到小的顺序排列。
另外,如果设置retstep=True,会在返回数组时附带每个样本之间的步长。
import numpy as np arr, step = np.linspace(0, 5, 10, retstep=True) print(arr) print(step)
输出结果为:
[0. 0.55555556 1.11111111 1.66666667 2.22222222 2.77777778 3.33333333 3.88888889 4.44444444 5. ] 0.5555555555555556
可以看到,每个样本之间的步长为0.5556。
