NumPy数据类型

常用的数据类型有

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对象。

原文地址:https://www.cnblogs.com/supershuai/p/12216020.html