ndarray的数据类型即dtype是一个特殊的对象.它包含了ndarray需要为某一种类型数据所声明的内存块信息(也就是元数据,表示数据的数据)。
dtype是NumPy能够与其它系统数据灵活交互的原因。通常,数据的dtype通常按照一个命名方式:类型名,比如float和int,后面再接上表面每个元素位数的数字,一个标准的双精度浮点数,使用8byte即64bit。因此在NumPy为float64.一般只有在内存或者磁盘上做更深入的存取操作时,才需要了解存储的数据类型。
NumPy的数据类型如下:
类型 | 类型代码 | 含义 |
---|---|---|
int8,uint8 | i1,u1 | 有符号和无符号8bit整数 |
int16,uint16 | i2,u2 | 有符号和无符号16bit整数 |
int32,uint32 | i4,u4 | 有符号和无符号32bit整数 |
int64,uint64 | i8,u8 | 有符号和无符号64bit整数 |
float16 | f2 | 半精度浮点数 |
float32 | f4或f | 单精度浮点数,兼容C语言float类型 |
float64 | f8或d | 双精度浮点数兼容C语言float类型和Python double |
float128 | f16或g | 拓展精度浮点数 |
complex64 | c8 | 基于32bit浮点数的复数 |
comple128 | c16 | 基于64bit浮点数的复数 |
complex256 | c32 | 基于128bit浮点数的复数 |
bool | ? | 布尔值,True or False |
object | o | Python object类型 |
string_ | S | 修正的ASCII字符串类型 |
unicode_ | U | 修正的Unicode类型,生成一个长度为10的unicode类型,使用 “U10” |
可以使用astype方法显示的转换数组的数据类型。如果数组 中的元素都是表达数字含义的字符串,也可以使用astype将字符串转换为数字。
1 | import numpy as np |