扫码一下
查看教程更方便
在本章中,我们将介绍NumPy从数值范围创建数组。
numpy.arange 方法返回一个ndarray对象,其中包含给定范围内均匀间隔的值。语法如下
numpy.arange(start, stop, step, dtype)
参数说明如下
参数 | 描述 |
---|---|
start | 起始值,默认为0 |
stop | 终止值(不包含) |
step | 步长,默认为1 |
dtype | 返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。 |
下面我们通过示例来介绍该方法的使用
import numpy as np
x = np.arange(5)
print(x)
运行结果如下
[0 1 2 3 4]
指定dtype
import numpy as np
x = np.arange(5, dtype = float)
print(x)
运行结果如下
[0. 1. 2. 3. 4.]
指定 start 和 stop参数,设置步长
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)
参数说明如下
参数 | 描述 |
---|---|
start | 序列的起始值 |
stop | 序列的终止值,如果endpoint为true,该值包含于数列中 |
num | 要生成的等步长的样本数量,默认为50 |
endpoint | 该值为 true 时,数列中包含stop值,反之不包含,默认是True。 |
retstep | 如果为 True 时,生成的数组中会显示间距,反之不显示。 |
dtype | ndarray 的数据类型 |
以下示例演示了linspace 方法的使用。
设置开始值为10,终止值为20,数量为5个
import numpy as np
x = np.linspace(10,20,5)
print(x)
运行结果如下
[10. 12.5 15. 17.5 20.]
将 endpoint 设置为 false,此时结果中将不包含终止值
import numpy as np
x = np.linspace(10,20, 5, endpoint = False)
print(x)
运行结果如下
[10. 12. 14. 16. 18.]
下面我们将 retset参数设置为 True。看一下元素之间的步长。
import numpy as np
x = np.linspace(1,2,5, retstep = True)
print(x)
运行结果如下
(array([ 1. , 1.25, 1.5 , 1.75, 2. ]), 0.25)
上例中开始值为1,终止值为2,元素个数为5。所以步长为 0.25
numpy.logspace 方法用于创建一个指数数列的数组,就类似于一个等比数列。语法如下:
numpy.logspace(start, stop, num, endpoint, base, dtype)
其中,base是底数,默认为10。
该方法参数说明如下
参数 | 描述 |
---|---|
start | 序列的起始值为:base start |
stop | 序列的终止值为:basestop。如果endpoint为true,该值包含于数列中 |
num | 要生成的等步长的样本数量,默认为50 |
endpoint | 该值为 true 时,数列中中包含stop值,反之不包含,默认是True。 |
base | 对数 log 的底数。 |
dtype | ndarray 的数据类型 |
下面通过示例来帮助你了解logspace方法的功能。
默认base为10,起始值start设置为1,终止值stop设置为2,元素个数为5。
import numpy as np
a = np.logspace(1.0, 2.0, num = 5)
print(a)
运行结果如下
[ 10. 17.7827941 31.6227766 56.23413252 100. ]
下面这个示例我们将底数base设置为2,起始值start为1,终止值stop为10,元素个数为10
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.]