数据类型
NumPy支持比Python更多的数据类型,详细可见下表。
数据类型 | 长度 | 描述 |
---|---|---|
bool_ | 1 | 布尔值 |
int_ | 32/64 | 默认整型,相当于C的long |
intc | 32/64 | 整型,相当于C的int |
intp | 32/64 | 索引的整型,相当于C的size_t |
int8 | 8 | 8位整型 |
int16 | 16 | 16位整型 |
int32 | 32 | 32位整型 |
int64 | 64 | 64位整型 |
uint8 | 8 | 8位无符号整型 |
uint16 | 16 | 16位无符号整型 |
uint32 | 32 | 32位无符号整型 |
uint64 | 64 | 64位无符号整型 |
float | 64 | 64位浮点型 |
float16 | 16 | 半精度浮点型,1位符号位,5位指数,10位尾数 |
float32 | 32 | 单精度浮点型,1位符号位,8位指数,23位尾数 |
float64 | 64 | 双精度浮点型,1位符号位,11位指数,52位尾数 |
complex_ | 128 | 128位复数型 |
complex64 | 64 | 由两个32位浮点数表示 |
complex128 | 128 | 由两个64位浮点数表示 |
NumPy的数据类型一般采用np.float32
的格式使用。
数据类型对象描述了应用于数组的固定内存块的解释,主要包括以下几个方面的内容:
- 数据类型;
- 数据大小;
- 字节序;
- 结构化类型的字段名称,每个字段的数据类型以及每个字段占用的内存块部分;
- 子序列的形状和数据类型。
数据类型对象,可以由numpy.dtype(object, align, copy)
方法构造,其中,align
参数表示是否像C的结构体一样在字段间添加间隔,copy
参数表示是否要生成object的新副本,否则将使用引用。