Python NumPy数据类型对象(dtype)
每个ndarray都有一个相关的数据类型(dtype)对象。这个数据类型对象(dtype)告诉我们数组的布局。这意味着它为我们提供了以下信息:
- 数据类型(整数、浮点数、Python对象等)
- 数据的大小(字节数)
- 数据的字节顺序(小端序或大端序)
- 如果数据类型是子数组,那么它的形状和数据类型是什么?
ndarray的值存储在一个缓冲区中,这个缓冲区可以被认为是一个连续的内存字节块。如何解释这些字节是由dtype对象给出的。
1.构造一个数据类型(dtype)对象:数据类型对象是NumPy的实例。dtype类,它可以使用NumPy.dtype创建。
参数:
- obj:对象要转换为数据类型对象。
- align:bool,可选
为字段添加填充,以匹配C编译器为类似的C结构输出的内容。 - copy:bool,可选
创建数据类型对象的新副本。如果为False,则结果可能只是对内置数据类型对象的引用。
输出:
输出:
类型说明符(在上面的例子中是i4)可以采用不同的形式:
- b1, i1, i2, i4, i8, u1, u2, u4, u8, f2, f4, f8, c8, c16, a (代表字节、整数、无符号整数、浮点数、复数和指定字节的固定长度字符串。指定字节长度的固定长度的字符串)
- int8,…,uint8,…,float16, float32, float64, complex64, complex128 (这次是有位数的)
注意:dtype与type不同。
输出:
2.数据类型结构化数组对象:数据类型对象对于创建结构化arrays非常有用。结构化数组是包含不同类型数据的数组。结构化arrays可以在字段的帮助下访问。字段类似于指定对象的名称。对于结构化arrays,dtype对象也将是结构化的。
输出:
输出: