热线电话:13121318867

登录
2023-08-09 阅读量: 451
numpy数组的创建

numpy中使用array()函数创建数组,array的首个参数一定是一个序列,可以是元组也可以是列表。

一维数组的创建

可以使用numpy中的arange()函数创建一维有序数组,它是内置函数range的扩展版。

In [1]: import numpy as np

In [2]: ls1 = range(10)

In [3]: list(ls1)

Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [4]: type(ls1)

Out[4]: range

In [5]: ls2 = np.arange(10)

In [6]: list(ls2)

Out[6]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [7]: type(ls2)

Out[7]: numpy.ndarray

通过arange生成的序列就不是简简单单的列表类型了,而是一个一维数组。

如果一维数组不是一个规律的有序元素,而是人为的输入,就需要array()函数创建了。

In [8]: arr1 = np.array((1,20,13,28,22))

In [9]: arr1

Out[9]: array([ 1, 20, 13, 28, 22])

In [10]: type(arr1)

Out[10]: numpy.ndarray

上面是由元组序列构成的一维数组。

In [11]: arr2 = np.array([1,1,2,3,5,8,13,21])

In [12]: arr2

Out[12]: array([ 1, 1, 2, 3, 5, 8, 13, 21])

In [13]: type(arr2)

Out[13]: numpy.ndarray

上面是由列表序列构成的一维数组。

二维数组的创建

二维数组的创建,其实在就是列表套列表或元组套元组。

In [14]: arr3 = np.array(((1,1,2,3),(5,8,13,21),(34,55,89,144)))

In [15]: arr3

Out[15]:

array([[ 1, 1, 2, 3],

[ 5, 8, 13, 21],

[ 34, 55, 89, 144]])

上面使用元组套元组的方式。

In [16]: arr4 = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])

In [17]: arr4

Out[17]:

array([[ 1, 2, 3, 4],

[ 5, 6, 7, 8],

[ 9, 10, 11, 12]])

上面使用列表套列表的方式。

对于高维数组在将来的数据分析中用的比较少,这里关于高维数组的创建就不赘述了,构建方法仍然是套的方式。

上面所介绍的都是人为设定的一维、二维或高维数组,numpy中也提供了几种特殊的数组,它们是:

In [18]: np.ones(3) #返回一维元素全为1的数组

Out[18]: array([ 1., 1., 1.])

In [19]: np.ones([3,4]) #返回元素全为1的3×4二维数组

Out[19]:

array([[ 1., 1., 1., 1.],

[ 1., 1., 1., 1.],

[ 1., 1., 1., 1.]])

In [20]: np.zeros(3) #返回一维元素全为0的数组

Out[20]: array([ 0., 0., 0.])

In [21]: np.zeros([3,4]) #返回元素全为0的3×4二维数组

Out[21]:

array([[ 0., 0., 0., 0.],

[ 0., 0., 0., 0.],

[ 0., 0., 0., 0.]])

In [22]: np.empty(3) #返回一维空数组

Out[22]: array([ 0., 0., 0.])

In [23]: np.empty([3,4]) #返回3×4二维空数组

Out[23]:

array([[ 0., 0., 0., 0.],

[ 0., 0., 0., 0.],

[ 0., 0., 0., 0.]])


0.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据