Numpy的数据是同构多维的数据,意味着里面的元素都是同一张数据类型的,一般都是数值型。在Numpy中,一维称为一轴。
Numpy中多维数组ndarray需要了解的属性:
shape
将是 (m,n)
。因此,shape
元组的长度就是维度的个数 ndim
。例子:
In [1]: import numpy as np # 生成有15个元素的一维numpy 数组 In [2]: data = np.arange(15) In [3]: data Out[3]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]) # 由15个元素的一维numpy 数组重新组成3行5列的numpy多维数组 In [4]: data = data.reshape(3, 5) In [5]: data Out[5]: array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) # 多维数组的维度 In [6]: data.shape Out[6]: (3, 5) # 多维数组的维度个数 In [7]: data.ndim Out[7]: 2 # 多维数组的元素的数据类型 In [8]: data.dtype Out[8]: dtype('int64') In [9]: data.dtype.name Out[9]: 'int64' # 多维数组的元素的字节大小 In [10]: data.itemsize Out[10]: 8 # 多维数组的元素的个数 In [11]: data.size Out[11]: 15 复制代码
常用的方法, 传递Python的列表数据:
In [12]: data = np.array([1, 2, 3]) In [13]: data Out[13]: array([1, 2, 3]) In [14]: data = np.array([(1, 2, 3), (4, 5, 6)]) In [15]: data Out[15]: array([[1, 2, 3], [4, 5, 6]]) 复制代码
创建带初始化值且固定数组大小的Numpy数组的方法:
In [16]: np.zeros((2, 3)) Out[16]: array([[0., 0., 0.], [0., 0., 0.]]) In [17]: np.ones((2, 3), dtype=np.int16) Out[17]: array([[1, 1, 1], [1, 1, 1]], dtype=int16) In [18]: np.empty((2, 3)) Out[18]: array([[0., 0., 0.], [0., 0., 0.]])