NumPy 包含许多函数,可用于从给定的数值范围创建数组。以下是用于此目的的最常用函数的列表:

功能说明
arange()返回给定间隔内均匀间隔的值。
linspace()返回均匀间隔的数字 在指定的时间间隔内。
logspace()返回在对数刻度上均匀间隔的数字。

让我们详细讨论这些函数:

numpy.arange() 函数

numpy.arange() 函数返回给定间隔内均匀间隔的值。这些值在 [start, stop) 范围内以指定的步长生成。

语法

numpy.arange(start, stop, step, dtype=None) 

参数

start可选。 指定间隔的开始(含)。默认值为 0。
stop必填。 指定间隔结束(不包括)。
step可选。 指定步长。默认值为 1。
dtype可选。 指定输出数组的类型。如果未给出 dtype,则从其他输入参数推断数据类型。

示例:

下面的示例显示如何使用arange()函数创建数组。

import numpy as np

#使用范围[10,55)创建数组并且步长=5
Arr1 = np.arange(10,55,5)
print("Arr1 为:", Arr1)

#使用范围[10,16)创建数组并且步长 = 1 且 dtype=float
Arr2 = np.arange(10,16,dtype=float)
print("Arr2 为:", Arr2)

#重塑 Arr2
Arr3 = Arr2.reshape(2,3)
print("Arr3 为:\n", Arr3) 

上述代码的输出将是:

Arr1 为: [10 15 20 25 30 35 40 45 50]
Arr2 为: [10. 11. 12. 13. 14. 15.]
Arr3 为:
[[10. 11. 12.]
 [13. 14. 15.]] 

numpy.linspace()函数

numpy.linspace() 函数返回指定间隔内均匀间隔的值。这些值是在 [start, stop] 范围内以指定数量的样本生成的。可以选择排除间隔的端点。

语法

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 

参数

start必填。 指定序列的起始值。
stop必填。 指定序列的结束值,除非端点为False。在这种情况下,序列由除最后一个 num + 1 个均匀间隔样本之外的所有样本组成,因此排除了 stop。请注意,当端点为 False 时,步长会发生变化。
num可选。 指定要生成的样本数量。默认值为 50。必须为非负数。
endpoint可选。 指定布尔值。如果为 True,则停止是最后一个样本。否则,不包括在内。默认值为 True。
retstep可选。 指定布尔值。如果为 True,则返回 (samples, step),其中 step 是样本之间的间距。
dtype可选。 指定输出数组的类型。如果未给出 dtype,则从其他输入参数推断数据类型。

示例:

在下面的示例中,linspace() 函数与不同的参数一起使用来创建数组。

import numpy as np

#在给定范围内创建5个样本点
Arr1 = np.linspace(1,5,num=5)
print("Arr1 为:", Arr1)

#当endpoint=False时,(num+1)个样本是生成并返回没有最后一个的样本
Arr2 = np.linspace(1,5,num=5,endpoint=False)
print("Arr2 为:", Arr2)

#当retstep=True时,返回(sample,step)
Arr3 = np.linspace(1,5,num=5,retstep=True)
print("Arr3 为:", Arr3) 

上述代码的输出将是:

Arr1 为: [1. 2. 3. 4. 5.]
Arr2 为: [1.  1.8 2.6 3.4 4.2]
Arr3 为: (array([1., 2., 3., 4., 5.]), 1.0) 

numpy.logspace() 函数

numpy.logspace() 函数返回在对数刻度上均匀分布的数字。这些值是在 [base ** start、base ** stop] 范围内生成的,具有指定数量的样本。可以选择排除间隔的端点。

语法

numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None) 

参数

start必填。 指定序列的起始值。起始值为base ** start。
stop必填。 指定序列的结束值(结束值为base ** end),除非endpoint为False。在这种情况下,num + 1 个值在对数空间的间隔内间隔开,其中除了最后一个(长度为 num 的序列)之外的所有值都会返回。
num可选。 指定要生成的样本数量。默认值为 50。必须为非负数。
endpoint可选。 指定布尔值。如果为 True,则停止是最后一个样本。否则,不包括在内。默认值为 True。
base可选。 指定日志空间的基数。 ln(samples) / ln(base) (或 log_base(samples))中元素之间的步长是统一的。默认值为 10.0。
dtype可选。 指定输出数组的类型。如果未给出 dtype,则从其他输入参数推断数据类型。

示例:

在下面的示例中,logspace() 函数使用不同的参数来创建数组。

import numpy as np

#在给定范围内创建5个样本点
Arr1 = np.logspace(1,2,num=5)
print("Arr1 为:", Arr1)

#当endpoint=False时,(num+1)个样本是生成并返回没有最后一个的样本
Arr2 = np.logspace(1,2,num=5,endpoint=False)
print("Arr2 为:", Arr2)

#使用base=2.0
Arr3 = np.logspace(1,2,num=5,base=2.0)
print("Arr3 为:", Arr3) 

上述代码的输出将是:

Arr1 为: [10.     17.7827941   31.6227766   56.23413252  100.       ]
Arr2 为: [10.     15.84893192  25.11886432  39.81071706  63.09573445]
Arr3 为: [2.      2.37841423   2.82842712   3.36358566   4.         ]