Numpy 中的數組比 Python 原生中的數組(只支持整數類型與浮點類型)強大的一點就是它支持更多的數據類型。python
numpy常見的數據類型數組
數據類型 | 描述 |
---|---|
bool_ | 布爾(True或False),存儲爲一個字節 |
int_ | 默認整數類型(與C long 相同;一般爲int64 或int32 ) |
intc | 與C int (一般爲int32 或int64 )相同 |
intp | 用於索引的整數(與C ssize_t 相同;一般爲int32 或int64 ) |
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 來指定。ui
a = np.arange(3, dtype=np.float16) a Out[107]: array([0., 1., 2.], dtype=float16) a.dtype Out[108]: dtype('float16')
此外,在建立 ndarray 對象時,也能夠經過字符代碼來替換,主要是爲了保持與較舊包(例如Numeric)的向後兼容性。spa
np.array([1, 2, 3], dtype='f') Out[109]: array([1., 2., 3.], dtype=float32
要轉換數組的類型,請使用.astype()方法(首選)或類型自己做爲函數。code
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])