NumPy資料型別和轉換

NumPy裡面的資料型別dtype跟Python內建的資料型別有一些不同的地方,它有精度更高的型別,這跟它用於資料計算的特性是相關的。

NumPy的資料型別

型別 說明
bool 布林型
int8 8位有符號整數
int16 16位有符號整數
int32 32位有符號整數
int64 64位有符號整數
uint8 8位無符號整數
uint16 16位無符號整數
uint32 32位無符號整數
uint64 64位無符號整數
float16 16位浮點數
float32 32位浮點數
float64 64位浮點數
complex64 64位複數
complex128 128位複數

在新建一個ndarray資料時,你可以通過字串或者numpy庫裡面的資料型別常量來制定元素的資料型別

import numpy as np

# 通過字串來指定資料型別
test = np.array([4, 5, 6], dtype='int64')

#通過np內的常量來指定
test = np.array([7, 8, 8], dtype=np.int64)

資料型別轉換

在例項建立好了之後,可以通過資料型別轉換方法astype()將元素的型別變成另外的一種,比如從整型變到浮點型,等等。

>>> import numpy as np
>>> test = np.array([11, 12, 13, 14], dtype="int32")
>>> x = test.astype('float32')
>>> x
array([11., 12., 13., 14.], dtype=float32)
>>> test, test.dtype
(array([11, 12, 13, 14]), dtype('int32'))
注意
資料型別轉換方法只會返回一個全新的陣列,而原陣列例項的資料和資訊並沒有改變。