ndarray 屬性反映了陣列本身的資訊,可以通過訪問該屬性來訪問或設定陣列的內部資訊。
ndarray 屬性包括記憶體布局屬性、資料型別屬性和其他屬性。
ndarray 的記憶體布局屬性如下:
描述:
ndarray.flags 獲取 ndarray 物件的記憶體資訊,包括以下屬性:
例
>>import numpy as np描述:ndarray.ndim 獲取 numpy 陣列的維數或軸數,稱為秩。>arr=np.array([1,2,3])
>arr
array([1, 2, 3])
# arr.標誌來獲取陣列記憶體資訊。
>arr.flags
c_contiguous : true
f_contiguous : true
owndata : true
writeable : true
aligned : true
writebackifcopy : false
以字典的形式訪問記憶體資訊。
>arr.flags['c_contiguous']
true 通過句點 + 小寫屬性名稱訪問記憶體資訊。
>arr.flags.c_contiguous
true
在numpy中,每個線性陣列稱為乙個維度或乙個軸。
一維陣列的每個元素都是乙個數字或字串,其軸數為 1,最外層為乙個。
二維陣列的每個元素都是乙個一維陣列,有 2 個軸和最外層 2 個。
三維陣列的每個元素都是乙個二維陣列。 軸數為 3,謂詞最多為 3。
例
>>import numpy as np描述:ndarray.shape 返回表示陣列每個軸大小的元組。乙個一維陣列,其中每個元素都是單個數字或單個字串。
>ar1=np.array([1,2,3])
乙個二維陣列,其中每個元素都是乙個數字。
>ar2=np.array([[1,2,3]])
三維陣列,其中每個元素都是乙個二維陣列。
>ar3=np.array([[1,2,3]]]
>ar1
array([1, 2, 3])
>ar2
array([[1, 2, 3]])
>ar3
array([[1, 2, 3]]]
一維陣列的軸數為 1,最外層為 1。
>ar1.ndim
二維陣列的軸數為2,最外層為2。
>ar2.ndim
三維陣列的軸數為3,最外層為3。
>ar3.ndim
軸的大小表示相同維度的元素數。
例
>>import numpy as np描述:ndarray.size 返回陣列中元素的總數。>ar1=np.array([1,2,3])
>ar2=np.array([[1,2,3],[5,6,7]])
>ar3=np.array([[1,2,3],[5,6,7]]]
>ar1.shape
>ar2.shape
shape 返回每個軸大小的元組。
軸的大小表示相同維度的元素數。
軸計算從外到內的大小。
最外層的三維陣列有乙個二維陣列 [[1,2,3],[5,6,7]] 具有許多元素
子外層二維陣列有兩個一維陣列 [1,2,3]、[5,6,7],元素數為 2
最內層,一維陣列有 3 個元素。
>ar3.shape
例
>>import numpy as np描述:ndarray.ItemSize 返回元素的位元組長度(大小)。>ar1=np.array([1,2,3])
>ar2=np.array([[1,2,3],[5,6,7]])
>ar3=np.array([[1,2],[3,5]],6,7],[8,9]]]
# ndarray.size 返回陣列中元素的總數。
>ar1.size
>ar2.size
>ar3.size
例
>>import numpy as np描述:ndarray.nbytes 返回陣列元素的總位元組長度(大小)。>ar3=np.array([[1,2],[3,5]],6,7],[8,9]]]
itemsize 返回元素的位元組長度。
>ar3.itemsize
dtype 返回元素型別,int32 為 4 個位元組。
>ar3.dtype
dtype('int32')
使用 nbytes itemsize 獲取元素總數。
例
>>import numpy as np>ar3=np.array([[1,2],[3,5]],6,7],[8,9]]]
nbytes 返回陣列元素的總位元組長度。
>ar3.nbytes
>ar3.itemsize
使用 nbytes itemsize 獲取元素總數。
>ar3.nbytes/ar3.itemsize
與尺寸相同。
>ar3.size