购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.7 从数值范围创建数组

(1)numpy.arange:在NumPy包中使用arange函数创建数值范围并返回ndarray对象。原型如下:

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

其中,参数start为起始值,默认为0;stop表示终止值(不包含);step表示步长,默认为1;dtype返回ndarray的数据类型,如果没有提供,就会使用输入数据的类型。比如生成0到5的数组:

     x = np.arange(5)
     print (x)

输出结果为:[0 1 2 3 4]。

如设置返回类型为float:

     x = np.arange(5, dtype =  float)  # 设置了dtype
     print (x)

输出结果为:[0. 1. 2. 3. 4.]。

设置起始值、终止值及步长:

     import numpy as np
     x = np.arange(10,20,2)
     print (x)

输出结果为:[10 12 14 16 18]。

(2)numpy.linspace:用于创建一个一维数组。数组是由一个等差数列构成的,原型如下:

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

其中,参数start表示序列的起始值;stop表示序列的终止值,如果endpoint为true,那么该值包含于数列中;num表示要生成的等步长的样本数量,默认为50;endpoint为true时,数列中包含stop值,反之不包含,默认是True。retstep为True时,生成的数组中会显示间距,反之不显示;dtype表示ndarray的数据类型。比如以下实例用到三个参数,设置起始点为1、终止点为10、数列个数为10:

     a = np.linspace(1,10,10)
     print(a)

输出结果为:[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]。

设置元素全部是1的等差数列:

     a = np.linspace(1,1,10)
     print(a)

输出结果为:[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]。

将endpoint设为false,不包含终止值:

     a = np.linspace(10, 20,  5, endpoint =  False)
     print(a)

输出结果为:[10. 12. 14. 16. 18.]。如果将endpoint设为true,就会包含20。

(3)numpy.logspace:创建一个于等比数列。原型如下:

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

其中,参数start代表间隔的起始值;stop代表以区间为基础的间隔的停止值;num表示start和stop范围之间的值数;endpoint是一个布尔类型值。它将stop表示的值作为间隔的最后一个值;base代表日志空间的底数;dtype代表数组项的数据类型。该函数返回指定范围内的数组,比如:

     a = np.logspace(1.0,  2.0, num =  10)  # 默认底数是10
     print (a)

输出结果为:

     [ 10.          12.91549665  16.68100537  21.5443469   27.82559402
       35.93813664  46.41588834  59.94842503  77.42636827 100.        ]

将对数的底数设置为2:

     a = np.logspace(0,9,10,base=2)
     print (a)

输出结果为:[ 1. 2. 4. 8. 16. 32. 64. 128. 256. 512.]。 XH2/6YMkBgnErwwMJ4q0/YpxpUaxGvth6gI0B1hz1TIyIHXPNk4cVHI2g7FGbctR

点击中间区域
呼出菜单
上一章
目录
下一章
×