创建numpy.array,是使用numpy这个核武器的基础,本文尽量汇总常用创建numpy.array的方法。
array函数
>>> import numpy as np
>>> a = np.array([1,2,3,4,5])
>>> a
array([1, 2, 3, 4, 5])
>>> a.shape
(5,)
>>> a.ndim
1
>>> a.dtype
dtype('int32')
>>>
>>> b = np.array((1,2,3,4,5.0))
>>> b
array([1., 2., 3., 4., 5.])
>>> b.shape
(5,)
>>> b.ndim
1
>>> b.dtype
dtype('float64')
a用list创建,b用tuple创建,都一样。注意创建b时,tuple中有一个float,这时numpy将所有数据都转换成了它自己的float64类型。numpy.array中不允许有不同类型的数据同时存在。
我们还可以通过array函数创建多维数组:
>>> c = np.array(([1,2,3],[4,5,6],[7,8,9]))
>>> c
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> c.shape
(3, 3)
>>> c.ndim
2
>>>
>>> d = np.array([[1,2,3],[4,5,6],[7,8,9.0]])
>>> d.dtype
dtype('float64')
>>> d
array([[1., 2., 3.],
[4., 5., 6.],
[7., 8., 9.]])
创建array时,可以指定dtype:
>>> e = np.array((1,2,3), dtype=np.int64)
>>> e
array([1, 2, 3], dtype=int64)
>>>
>>> f = np.array((1,2,3), dtype=np.float16)
>>> f
array([1., 2., 3.], dtype=float16)
zeros函数
用zeros函数创建全0的array:
>>> a = np.zeros((2,3))
>>> a
array([[0., 0., 0.],
[0., 0., 0.]])
>>>
>>> b = np.zeros((3,5), dtype=np.int8)
>>> b
array([[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]], dtype=int8)
zeros_like函数