numpy陣列的維數稱為秩(rank),一維陣列的秩為 1,二維陣列的秩為 2,以此類推。
numpy 的陣列中比較重要 ndarray 物件屬性有:
屬性說明
ndarray.ndim
秩,即軸的數量或維度的數量
ndarray.shape
陣列的維度,對於矩陣,n行m列
ndarray.size
陣列元素的總個數,相當於 .shape中n * m的值
ndarray.dtype
ndarray物件的元素型別
ndarray.itemsize
ndarray物件中每個元素的大小,以位元組為單位
ndarray.flags
ndarray物件的記憶體資訊
ndarray.real
ndarray元素的實部
ndarray.imag
ndarray元素的虛部
ndarray.data
包含實際陣列元素的緩衝區,由於一般通過陣列的索引獲取元素,所以通常不需要使用這個屬性
ndarray.ndim 用於返回陣列的維數,等於秩。
import numpy as np
a = np.arange(24)
print(a.ndim) # a 只有乙個維度
# 調整其大小
b = a.reshape(2,4,3) # 有三個維度
print(b.ndim)
1
3
ndarray.shape
ndarray.shape表示陣列的維度,返回乙個元組,這個元組的長度就是維度的數目,即ndim屬性(秩)。比如乙個二維陣列,其維度表示「行數」和「列數」
ndarray.shape也可以調整陣列的大小
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print(a.shape)
(2, 3)
# 調整陣列的大小
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
a.shape = (3,2)
print(a)
[[1 2]
[3 4]
[5 6]]
numpy 也提供了 reshape 函式來調整陣列大小.
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print(b)
[[1 2]
[3 4]
[5 6]]
ndarray.itemsize
ndarray.itemsize 以位元組的形式返回陣列中每乙個元素的大小。
例如,乙個元素型別為 float64 的陣列 itemsize 屬性值為 8(float64 占用 64 個 bits,每個位元組長度為 8,所以 64/8,占用 8 個位元組),又如,乙個元素型別為 complex32 的陣列 item 屬性為 4(32/8)。
import numpy as np
# 陣列的 dtype 為 int8(乙個位元組)
x = np.array([1,2,3,4,5], dtype = np.int8)
print (x.itemsize)
# 陣列的 dtype 現在為 float64(八個位元組)
y = np.array([1,2,3,4,5], dtype = np.float64)
print (y.itemsize)
1
8
ndarray.flags
ndarray.flags 返回 ndarray 物件的記憶體資訊,包含以下屬性:
屬性描述
資料是在乙個單一的c風格的連續段中
f_contiguous (f)
資料是在乙個單一的fortran風格的連續段中
owndata (o)
陣列擁有它所使用的記憶體或從另乙個物件中借用它
writeable (w)
資料區域可以被寫入,將該值設定為 false,則資料為唯讀
aligned (a)
資料和所有元素都適當地對齊到硬體上
updateifcopy (u)
這個陣列是其它陣列的乙個副本,當這個陣列被釋放時,原陣列的內容將被更新
import numpy as np
x = np.array([1,2,3,4,5])
print (x.flags)
c_contiguous : true
f_contiguous : true
owndata : true
writeable : true
aligned : true
writebackifcopy : false
updateifcopy : false
學習參考: Numpy學習筆記(四)陣列屬性
一 陣列屬性 usr bin env python coding utf 8 author jia666 time 2021 2 20 16 44 import numpy as np a np.array 1,2,3 4,5,6 7,8,9 todo 1 檢視a的值 print a 1 2 3 4...
NumPy學習筆記(1)陣列和屬性
numpy的基本物件是np陣列,使用專用的資料結構來儲存數值,在科學計算的效率上要優於原始的python 下面記錄關於np陣列的一些基本操作。使用array 函式 array np.array 1,2,3 2,3,4 可用這兩個引數指定生成陣列的維度和元素型別 dtype datatype ndmi...
Numpy陣列學習筆記
1 x 0 是numpy中陣列的一種寫法,表示對乙個二維陣列,取該二維陣列第一維中的所有資料,第二維中取第0個資料,直觀來說,x 0 就是取所有行的第0個資料,x 1 就是取所有行的第1個資料。2 二維陣列索引訪問的例子 產生1 9的數 in 28 arr2d np.arange 1,10 resh...