Numpy中ndim、shape、dtype、astype的用法

本文介紹numpy數組中這四個方法的區別ndim、shape、dtype、astype。

1.ndim


ndim返回的是數組的維度,返回的只有一個數,該數即表示數組的維度。

2.shape


shape:表示各位維度大小的元組。返回的是一個元組

對於一維數組:有疑問的是爲什麼不是(1,6),因爲arr1.ndim維度爲1,元組內只返回一個數。

對於二維數組:前面的是行,後面的是列,他的ndim爲2,所以返回兩個數。

對於三維數組:很難看出,下面打印arr3,看下它是什麼結構。


先看最外面的中括號,包含[[1,2,3],[4,5,6]]和[[7,8,9],[10,11,12]],假設他們爲數組A、B,就得到[A,B],如果A、B僅僅是一個數字,他的ndim就是2,這就是第一個數。但是A、B是(2,3)的數組。所以結合起來,這就是arr3的shape,爲(2,2,3)。

將這種方法類比,也就可以推出4維、5維數組的shape。

3.dtype


dtype:一個用於說明數組數據類型的對象。返回的是該數組的數據類型。由於圖中的數據都爲整形,所以返回的都是int32。如果數組中有數據帶有小數點,那麼就會返回float64。

有疑問的是:整形數據不應該是int嗎?浮點型數據不應該是float嗎?

解答:int32、float64是Numpy庫自己的一套數據類型。

4.astype


astype:轉換數組的數據類型。

int32 --> float64        完全ojbk

float64 --> int32        會將小數部分截斷

string_ --> float64        如果字符串數組表示的全是數字,也可以用astype轉化爲數值類型


注意其中的float,它是python內置的類型,但是Numpy可以使用。Numpy會將Python類型映射到等價的dtype上。


以上是這四個方法的簡單用法,之後若有什麼新發現再做補充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章