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

在这里,输出将是 -

[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
序列的结束值,包括在端点设置为true的序列中
3 num
要生成的均匀间隔样本的数量。默认值是50
4 endpoint
默认情况下为真,因此停止值包含在序列中。如果错误,则不包括在内
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

输出将是

[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 函数的输出。

Sr.No. 参数和说明
1 start
序列的起点是基础开始
2 stop
序列的最终值是基地站点
3 num
范围之间的值的数量。默认值是50
4 endpoint
如果为true,则停止是范围中的最后一个值
5 base
日志空间的基础,默认为10
6 dtype
输出数组的数据类型。如果没有给出,则取决于其他输入参数

以下示例将帮助您了解 日志空间 功能。

例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.]