1. 程式人生 > >Numpy系列(二)- 數據類型

Numpy系列(二)- 數據類型

tro bsp array 無符號整數 指定 數據類型 code head highlight

Numpy 中的數組比 Python 原生中的數組(只支持整數類型與浮點類型)強大的一點就是它支持更多的數據類型。

基本數據類型

numpy常見的數據類型

數據類型描述
bool_ 布爾(True或False),存儲為一個字節
int_ 默認整數類型(與C long相同;通常為int64int32
intc 與C int(通常為int32int64)相同
intp 用於索引的整數(與C ssize_t相同;通常為int32int64
int8 字節(-128到127)
int16 整數(-32768到32767)
int32 整數(-2147483648至2147483647)
int64 整數(-9223372036854775808至9223372036854775807)
uint8 無符號整數(0到255)
uint16 無符號整數(0到65535)
uint32 無符號整數(0至4294967295)
uint64 無符號整數(0至18446744073709551615)
float_ float64的簡寫。
float16 半精度浮點:符號位,5位指數,10位尾數
float32 單精度浮點:符號位,8位指數,23位尾數
float64 雙精度浮點:符號位,11位指數,52位尾數
complex_ complex128的簡寫。
complex64 復數,由兩個32位浮點(實數和虛數分量)
complex128 復數,由兩個64位浮點(實數和虛數分量)

以上這些數據類型都可以通過 np.bool_np.float32等方式訪問。

這些類型都可以在創建 ndarray 時通過參數 dtype 來指定。

a = np.arange(3, dtype=np.float16)
a
Out[107]: array([0., 1., 2.], dtype=float16)
a.dtype
Out[108]: dtype(‘float16‘)

  此外,在創建 ndarray 對象時,也可以通過字符代碼來替換,主要是為了保持與較舊包(例如Numeric)的向後兼容性。

np.array([1, 2, 3], dtype=‘f‘)
Out[109]: array([1., 2., 3.], dtype=float32 

類型轉換

要轉換數組的類型,請使用.astype()方法(首選)或類型本身作為函數。

a
Out[110]: array([0., 1., 2.], dtype=float16)
a.astype(np.bool_)
Out[111]: array([False,  True,  True])
np.bool_(a)
Out[112]: array([False,  True,  True])

 

Numpy系列(二)- 數據類型