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