【Numpy資料處理】ndarray介紹

語言: CN / TW / HK

highlight: a11y-dark theme: orange


攜手創作,共同成長!這是我參與「掘金日新計劃 · 8 月更文挑戰」的第29天,點選檢視活動詳情

1. ndarray的屬性

陣列的屬性反映了陣列本身固有的資訊。常用的檢視陣列屬性的相關語法如下表格所示:

| 屬性名稱 | 屬性解釋 | | --- | --- | | ndarray.shape | 陣列維度的元組 | |ndarray.ndim|陣列維數| |ndarray.size|陣列中的元素數量| |ndarray.itemsize|一個數組元素的長度(位元組)| |ndarray.dtype|陣列元素的型別|

下面,我們將針對ndarray的各種屬性,進行程式碼演示。

程式碼演示如下所示: ```python import numpy as np score = np.array([[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]])

print(score.shape) # 陣列維度的元組 print(score.ndim) # 陣列維數 print(score.size) # 陣列中的元素數量 print(score.itemsize) # 一個數組元素的長度(位元組) print(score.dtype) # 陣列元素的型別 ``` 程式碼執行結果如下圖所示:

image.png

注意:關於陣列的維度,想知道陣列有幾維,最簡單的辦法就是看陣列最外側有多少箇中括號,以上程式碼中傳入的陣列score有兩個中括號,因此陣列維數為2。

2. 陣列的形狀

關於陣列形狀,我們直接附上一段程式碼來理解: python c = np.array([[[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]], [[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]]) print("c的陣列維度:", c.shape) 以上程式碼執行結果如下圖所示:

image.png

此處,輸出的結果$(2,4,3)$的含義為:在最外層有2個二維陣列。在二維數組裡面,有4個一維陣列。在一維數組裡,有3個元素。

3. ndarray的型別

dtype是numpy.dtype型別,基本上之前所接觸過的資料型別,這裡面都支援。例如,bool、int32、int64、float32、uint8、complex64等等。

在我們建立array的同時是可以指定陣列ndarray型別的。具體語法如下所示: python a = np.array([[[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]], [[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]], dtype=np.float32) print(a.dtype) print(a) 程式碼執行結果如下圖所示:可以發現結果中的陣列元素帶有小數點了。

image.png

當然,陣列也可以儲存字串: python b = np.array(["python", "hello", "1"], dtype=np.string_) print(b) 執行結果如下圖所示:

image.png