numpy.linspace
介绍
numpy.linspace
是NumPy库中的一个函数,用于在指定的范围内生成等间距的数字。它通过指定起始点、结束点和数字的总数来创建一个等差数列。linspace
的输出是一个NumPy数组,包含了在指定范围内等间距的数字。
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
的语法如上所示,参数解释如下:
start
:指定开始数字。stop
:指定结束数字。num
:指定数组中数字的总数,默认为50。endpoint
:指定是否包含结束数字,默认为True,即包含。retstep
:指定是否返回步长,默认为False,即不返回。dtype
:指定数组的数据类型,默认为None,即保持原有类型。
下面我们将详细介绍linspace
函数的各个参数及其用法。
参数详解
start和stop
start
和stop
是linspace
函数最重要的两个参数,用于指定生成等间距数字的范围。
start
用于指定等间距数列的起始数字,而stop
用于指定等间距数列的结束数字。这两个参数可以是整数或浮点数,并且可以为负数。
示例代码:
import numpy as np
arr = np.linspace(0, 10, num=5)
print(arr)
输出:
[ 0. 2.5 5. 7.5 10. ]
在上面的示例中,我们指定了起始数字为0,结束数字为10,总共生成5个数字。linspace
函数输出的数组为[0.0, 2.5, 5.0, 7.5, 10.0]
,这是一个等间距的数列。
num
num
参数用于指定在指定范围内生成的等间距数字的总数。默认情况下,linspace
函数会生成50个数字。
示例代码:
import numpy as np
arr = np.linspace(0, 10, num=3)
print(arr)
输出:
[ 0. 5. 10.]
在上面的示例中,我们指定了起始数字为0,结束数字为10,生成3个数字。linspace
函数输出的数组为[0.0, 5.0, 10.0]
。
endpoint
endpoint
参数用于指定是否包含结束数字。如果endpoint
为True(默认值),则生成的等间距数列会包含结束数字;如果endpoint
为False,则生成的等间距数列不包含结束数字。
示例代码:
import numpy as np
arr1 = np.linspace(0, 10, num=5)
arr2 = np.linspace(0, 10, num=5, endpoint=False)
print(arr1)
print(arr2)
输出:
[ 0. 2.5 5. 7.5 10. ]
[0. 2. 4. 6. 8.]
在上面的示例中,我们先使用linspace
函数生成一个包含结束数字的等间距数列,再生成一个不包含结束数字的等间距数列。通过对比两个输出,可以看到第一个数组包含了结束数字10,而第二个数组不包含8。
retstep
retstep
参数用于指定是否返回步长(即相邻两个数之间的差)。如果retstep
为True,则linspace
函数会返回一个元组,其中第一个元素是生成的数组,第二个元素是步长;如果retstep
为False(默认值),则linspace
函数只返回生成的数组。
示例代码:
import numpy as np
arr1 = np.linspace(0, 10, num=5, retstep=True)
arr2 = np.linspace(0, 10, num=5, retstep=False)
print(arr1)
print(arr2)
输出:
(array([ 0. , 2.5, 5. , 7.5, 10. ]), 2.5)
[ 0. 2.5 5. 7.5 10. ]
在上面的示例中,我们先使用linspace
函数设置retstep
参数为True,再设置为False。可以看到,当retstep
为True时,输出是一个元组,其中第一个元素是生成的数组,第二个元素是步长;当retstep
为False时,输出只有生成的数组。
dtype
dtype
参数用于指定生成的数组的数据类型。默认情况下,生成的数组的数据类型是float64,即64位浮点数。
示例代码:
import numpy as np
arr1 = np.linspace(0, 10, num=5, dtype=int)
arr2 = np.linspace(0, 10, num=5, dtype=complex)
print(arr1)
print(arr2)
输出:
[ 0 2 5 7 10]
[ 0.+0.j 2.+2.j 5.+4.j 7.+6.j 10.+8.j]
在上面的示例中,我们分别指定了生成的数组的数据类型为整型和复数型。可以看到,第一个数组的数据类型为int,第二个数组的数据类型为complex。
总结
通过本文的介绍,我们了解了numpy.linspace
函数的各个参数及其用法。linspace
函数是一个非常实用的函数,可以帮助我们在指定范围内快速生成等间距的数列。