模块Numpy的主要对象是同种类型元素的多维数组。
在Numpy中维度(dimensions)叫做轴(axes) , 轴的个数叫做秩(rank)
-
ndarray.ndim
数组轴的个数,在python的世界中,轴的个数被称作秩
-
ndarray.shape
数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性
-
ndarray.size
数组元素的总个数,等于shape属性中元组元素的乘积。
-
ndarray.dtype
一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。另外NumPy提供它自己的数据类型。
-
ndarray.itemsize
数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8),又如,一个元素类型为complex32的数组item属性为4(=32/8).
-
ndarray.data
包含实际数组元素的缓冲区,通常我们不需要使用这个属性,因为我们总是通过索引来使用数组中的元素。
>>> import numpy >>> from numpy import * >>> array1 = array([1,2,3,4]) #秩为1,轴的长度4 >>> array1 array([1, 2, 3, 4]) >>> array1.shape (4,) >>>
>>> array3 = arange(12).reshape(3,4) >>> array3 array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> array3.sum(axis = 0) #每列元素相加 array([12, 15, 18, 21]) >>> array3.sum(axis = 1) #每行元素相加 array([ 6, 22, 38]) >>> >>> array3.cumsum(axis = 0) #每行逐渐相加 array([[ 0, 1, 2, 3], [ 4, 6, 8, 10], [12, 15, 18, 21]]) >>> array3.cumsum(axis = 1) #每列逐渐相加 array([[ 0, 1, 3, 6], [ 4, 9, 15, 22], [ 8, 17, 27, 38]]) >>>
>>> array4 = arange(27).reshape(3,3,3) >>> array4 array([[[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8]], [[ 9, 10, 11], [12, 13, 14], [15, 16, 17]], [[18, 19, 20], [21, 22, 23], [24, 25, 26]]]) >>> array4.sum(axis = 0) #轴:行,列,高;高:对应元素相加 array([[27, 30, 33], [36, 39, 42], [45, 48, 51]]) >>> array4.sum(axis = 1) #列:对应元素相加 array([[ 9, 12, 15], [36, 39, 42], [63, 66, 69]])
>>> array4.sum(axis = 2) #行:对应元素相加 array([[ 3, 12, 21], [30, 39, 48], [57, 66, 75]]) >>>