常用的数据类型有
bool_ 布尔类型
int_ 默认的整数类型(类似于 long,int32或int64)
intc 与C的int 类型一样(int32 /int 64)
int16 字节
int32 整数(-32768 to 32767)
int64 整数(-2147483648 to 2147483647)
uint8 无符号整数
uint64 无符号整数(0 to 18446744073709551615)
float_ float64 类型的简写
float16 半精度包括:1 个符号位,5 个指数位,10 个尾数位
float32 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位
float64 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位
complex_ 128位的复数
complex64 32位浮点数
complex128 64位浮点数
int8, int16, int32, int64 四种数据类型可以使用字符串 'i1', 'i2','i4','i8' 代替
数据的类型dtype
numpy.dype(object,align,copy)
其中 object: 表示要转化的数据类型对象
align: 如果为True 表示填充字段使其类似C的结构体
copy: 复制dtype对象,如果为false,则为内置数据类型对象的引用
dp=np.dtype("i8") print(dp)
输出:int64
将数据类型应用于ndarray对象中
dp=np.dtype([('age',int8)]) a= np.array([1,2,3],dtype=dp) print(a)
下面创建一个结构化类型Food ,包含字段字符串字段name,整数字段num,以及浮点字段price,并应用在ndarray对象中
foood=dtype([('name','S20'),('num',int16),('price','f4')]) ao=np.array([('bread',2,23),('milk',19,20)], dtype = foood) print(ao)
每个内建类型都有一个唯一定义它的字符代码 如S,a对应字符串 ,b对应bool , m对应时间间隔,M对应日期时间,U对应Unicode,V 对应原始数据,O对应python对象。