NumPy-ndarray 的數據類型


ndarray 的數據類型

數據類型,即 dtype ,也是一個特殊的對象, 它包含了ndarray需要為某一種類型數據所申明的內存塊信息(也成為了元數據,即表示數據的數據)

dtype是NumPy能夠與琪他系統數據靈活交互的原因。通常,其他系統提供一個硬盤或內存與數據的對應關系,使得利用C或Fortran等底層語言讀寫數據變得十分方便。

名稱 描述
bool_ 布爾型數據類型(True 或者 False)
int_ 默認的整數類型(類似於 C 語言中的 long,int32 或 int64)
intc 與 C 的 int 類型一樣,一般是 int32 或 int 64
intp 用於索引的整數類型(類似於 C 的 ssize_t,一般情況下仍然是 int32 或 int64)
int8 字節(-128 to 127)
int16 整數(-32768 to 32767)
int32 整數(-2147483648 to 2147483647)
int64 整數(-9223372036854775808 to 9223372036854775807)
uint8 無符號整數(0 to 255)
uint16 無符號整數(0 to 65535)
uint32 無符號整數(0 to 4294967295)
uint64 無符號整數(0 to 18446744073709551615)
float_ float64 類型的簡寫
float16 半精度浮點數,包括:1 個符號位,5 個指數位,10 個尾數位
float32 單精度浮點數,包括:1 個符號位,8 個指數位,23 個尾數位
float64 雙精度浮點數,包括:1 個符號位,11 個指數位,52 個尾數位
complex_ complex128 類型的簡寫,即 128 位復數
complex64 復數,表示雙 32 位浮點數(實數部分和虛數部分)
complex128 復數,表示雙 64 位浮點數(實數部分和虛數部分)

使用astype方法來顯式的轉換數組的數據類型

arr = np.array([1,2,3,4,5])
print(arr.dtype)
print(arr)
float_arr = arr.astype('float32')#也可以寫作 arr.astype(np.float32)
print(float_arr.dtype)
print(float_arr)

int32
[1 2 3 4 5]
float32
[1. 2. 3. 4. 5.]

注意:將內容為數字的字符串數組轉為數字是可以的,當內容是浮點型數字的時候只能轉成 float,不能 int,只有是整數的時候才可以轉成int

用其他數組的dtype來轉換數據類型:

int_arr = np.arange(10)
calibers = np.array([.22, .270, .357], dtype=np.float64)
print(calibers)
arr_last = int_arr.astype(calibers.dtype)
print(arr_last.dtype)
print(arr_last)

[0.22 0.27 0.357]
float64
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM