📅  最后修改于: 2023-12-03 15:33:12.360000             🧑  作者: Mango
在NumPy中,np.arange
和np.linspace
都是用于生成数字序列的函数,但是它们之间还有一些显著的区别。
np.arange
函数返回一个数组,其元素是在指定范围内以等间隔的方式生成的数值序列数组,该函数的函数原型如下:
np.arange([start,] stop[, step,], dtype=None)
其中start表示起始值(默认值为0),stop表示终止值(不包含),step表示步长(默认值为1),dtype表示返回数组的数据类型(如果未提供,则根据其他参数自动推断数据类型)。
下面是一些使用np.arange
函数的示例:
import numpy as np
# 生成0到9的数字序列,步长为1
a = np.arange(10)
print(a) # [0 1 2 3 4 5 6 7 8 9]
# 生成2到10的数字序列,步长为2
b = np.arange(2, 11, 2)
print(b) # [ 2 4 6 8 10]
# 生成2到10的数字序列,步长为浮点型数值
c = np.arange(2, 10, 0.5)
print(c) # [2. 2.5 3. 3.5 4. 4.5 5. 5.5 6. 6.5 7. 7.5 8. 8.5 9. 9.5]
np.linspace
函数返回一个数组,其元素是在指定范围内以等差或等比的方式生成的数值序列数组,该函数的函数原型如下:
np.linspace(start, stop, num, endpoint=True, retstep=False, dtype=None)
其中start表示起始值,stop表示终止值,num表示生成的数字数量(默认值为50),endpoint表示是否包含终止值(默认为True),retstep表示是否返回序列的步长,默认为False,dtype表示返回数组的数据类型(如果未提供,则根据其他参数自动推断数据类型)。
下面是一些使用np.linspace
函数的示例:
import numpy as np
# 等差数列,生成0到10的数字序列,包含终止值
a = np.linspace(0, 10, 11)
print(a) # [ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
# 等比数列,生成1到10000的数字序列,包含终止值
b = np.linspace(1, 10000, 20, endpoint=True, retstep=True)
print(b[0]) # [1.00e+00 5.26e+02 1.05e+03 1.57e+03 2.10e+03 2.63e+03 3.16e+03 3.68e+03 4.21e+03 4.74e+03 5.26e+03 5.79e+03 6.32e+03 6.84e+03 7.37e+03 7.89e+03 8.42e+03 8.95e+03 9.47e+03 1.00e+04]
print(b[1]) # 526.3157894736842
np.arange
函数生成的是以等间隔方式的数字序列数组;np.linspace
函数生成的是以等差或等比方式的数字序列数组;