Numpy linspace() 函数
Numpy linspace() 函数用于返回一个在指定间隔内等距分布的数组。该函数接受 start、stop 和 num 等参数,并返回一个包含 start 和 stop 之间等距分布值的数组。它类似于 numpy.arange() 函数,但它使用样本数而不是步长。
在 NumPy 中,numpy.linspace() 和 arange() 都是用于生成在指定间隔内等距分布值的数组的函数。主要区别在于 numpy.linspace() 在起始值和终止值之间生成指定数量的均匀分布样本(默认包含起始值和终止值),而 numpy.arange() 则在指定范围内生成均匀分布的值,该范围由固定的步长决定。
语法
以下是 Numpy linspace() 函数的语法 -
numpy.linspace(start, stop, num, endpoint = True, retstep = False, dtype = None, axis = 0)
参数
以下是 Numpy linspace() 函数的参数 -
- start:它是序列的起始值,默认 start=0
- stop:序列的结束值
- num(可选):表示要生成的样本数量
- endpoint(可选):指定是否包含结束值。如果为 True,则 stop 为最后一个样本。否则,不包含。默认情况下,endpoint=True。
- retstep(可选):如果为 True,则返回 (samples, step),其中 step 是样本之间的间距。
- dtype(可选):表示输出数组的类型
- axis(可选):这是结果中用于存储样本的轴。仅当 start 或 stop 为类数组(即它不是标量而是数组)时,此操作才有意义。
返回值
此函数返回一个 NumPy 数组,其中包含 num 个在指定间隔内均匀分布的值。
示例
以下是使用 Numpy linspace() 函数生成均匀分布的 numpy 数组的基本示例 -
import numpy as np my_Array = np.linspace(11,20,5) print("Numpy Array -",my_Array)
输出
以下是上述代码的输出 -
Numpy 数组 - [11. 13.25 15.5 17.75 20. ]
示例:生成二维 Numpy 数组
使用 numpy.linspace() 函数,我们可以指定给定范围内等距值的数量来生成二维数组,然后使用 reshape() 函数将生成的一维数组重塑为所需的二维形状。
这里,我们使用 numpy.linspace() 生成了一个 3 行 4 列的二维数组,其中值按 1 到 10 的线性间隔排列 -
import numpy as np # 生成 12 个介于 1 到 10 之间的等距值 array_1d = np.linspace(1, 10, 12) # 重塑为二维数组(例如,3 行 4 列) array_2d = array_1d.reshape(3, 4) print("Numpy 二维数组 - ",array_2d)
输出
以下是上述代码的输出 -
Numpy 二维数组 - [[ 1. 1.81818182 2.63636364 3.45454545] [ 4.27272727 5.09090909 5.90909091 6.72727273] [ 7.54545455 8.36363636 9.18181818 10. ]]
示例:在 'linspace()' 中使用负值
负值可以用作 numpy.linspace() 函数的参数,以创建包含指定范围内负数的数组。
在以下示例中,我们创建了一个包含 16 个介于 -5 和 5 之间的等距值的数组,然后将其重塑为 4x4 矩阵 -
import numpy as np # 生成介于 -5 和 5 之间的 16 个等距值 array_1d = np.linspace(-5, 5, 16) # 重塑为二维数组(4 行,4列) array_2d = array_1d.reshape(4, 4) print("Numpy 二维数组 - ", array_2d)
输出
以下是上述代码的输出 -
Numpy 二维数组 - [[-5. -4.33333333 -3.66666667 -3. ] [-2.33333333 -1.66666667 -1. -0.33333333] [ 0.33333333 1. 1.66666667 2.33333333] [ 3. 3.66666667 4.33333333 5. ]]
numpy_array_creation_routines.html