NumPy - 从数值范围创建数组
在本章中,我们将了解如何从数值范围创建数组。
numpy.arange
此函数返回一个 ndarray 对象,其中包含给定范围内均匀分布的值。 函数格式如下 −
numpy.arange(start, stop, step, dtype)
构造函数采用以下参数。
序号 | 参数 & 描述 |
---|---|
1 | start 间隔的开始。 如果省略,默认为 0 |
2 | stop 一个区间的结束(不包括这个数) |
3 | step 值之间的间距,默认为 1 |
4 | dtype 结果 ndarray 的数据类型。 如果未给出,则使用输入的数据类型 |
以下示例展示了如何使用此功能。
示例 1
import numpy as np x = np.arange(5) print x
它的输出将如下所示 −
[0 1 2 3 4]
示例 2
import numpy as np # dtype set x = np.arange(5, dtype = float) print x
Here, the output would be −
[0. 1. 2. 3. 4.]
示例 3
# start and stop parameters set import numpy as np x = np.arange(10,20,2) print x
它的输出结果如下 −
[10 12 14 16 18]
numpy.linspace
这个函数类似于arange()函数。 在此函数中,指定间隔之间的均匀间隔值的数量而不是步长。 该函数的用法如下 −
numpy.linspace(start, stop, num, endpoint, retstep, dtype)
构造函数采用以下参数。
序号 | 参数 & 描述 |
---|---|
1 | start 序列的起始值 |
2 | stop 序列的结束值,如果 endpoint 设置为 true 则包含在序列中 |
3 | num 要生成的均匀分布的样本数。 默认值为 50 |
4 | endpoint 默认为 True,因此序列中包含停止值。 如果为false,则不包含 |
5 | retstep 如果为 true,则返回连续数字之间的样本和步骤 |
6 | dtype 输出数据类型 ndarray |
下面的例子演示了linspace函数的使用。
示例 1
import numpy as np x = np.linspace(10,20,5) print x
它的输出是 −
[10. 12.5 15. 17.5 20.]
示例 2
# endpoint set to false import numpy as np x = np.linspace(10,20, 5, endpoint = False) print x
The output would be −
[10. 12. 14. 16. 18.]
示例 3
# find retstep value import numpy as np x = np.linspace(1,2,5, retstep = True) print x # retstep here is 0.25
现在,输出将是 −
(array([ 1. , 1.25, 1.5 , 1.75, 2. ]), 0.25)
numpy.logspace
此函数返回一个 ndarray 对象,其中包含在对数刻度上均匀分布的数字。 刻度的起始端点和终止端点是基数的指数,通常为 10。
numpy.logspace(start, stop, num, endpoint, base, dtype)
以下参数确定logspace 函数的输出。
序号 | 参数 & 描述 |
---|---|
1 | start 序列的起点是basestart |
2 | stop 序列的最终值为basestop |
3 | num 范围之间的值的数量。 默认值为 50 |
4 | endpoint 如果为 true,则停止是范围内的最后一个值 |
5 | base 日志空间的基数,默认为10 |
6 | dtype 输出数组的数据类型。 如果没有给出,则取决于其他输入参数 |
以下示例将帮助您理解logspace 功能。
示例 1
import numpy as np # default base is 10 a = np.logspace(1.0, 2.0, num = 10) print a
它的输出将如下所示 −
[ 10. 12.91549665 16.68100537 21.5443469 27.82559402 35.93813664 46.41588834 59.94842503 77.42636827 100. ]
示例 2
# set base of log space to 2 import numpy as np a = np.logspace(1,10,num = 10, base = 2) print a
现在,输出将是 −
[ 2. 4. 8. 16. 32. 64. 128. 256. 512. 1024.]