numpy.dtype #
- 类 numpy. dtype ( dtype , align=False , copy=False [ ,元数据] ) [来源] #
创建数据类型对象。
numpy 数组是同构的,包含由 dtype 对象描述的元素。 dtype 对象可以由基本数字类型的不同组合构造而成。
- 参数:
- 数据类型
要转换为数据类型对象的对象。
- 对齐布尔值,可选
向字段添加填充,以匹配 C 编译器为类似的 C 结构输出的内容。
True
仅当obj是字典或逗号分隔的字符串时才可以。如果正在创建 struct dtype,这还会设置粘性对齐标志isalignedstruct
。- 复制布尔值,可选
制作数据类型对象的新副本。如果
False
,结果可能只是对内置数据类型对象的引用。- 元数据字典,可选
带有 dtype 元数据的可选字典。
也可以看看
例子
使用数组标量类型:
>>> np.dtype(np.int16) dtype('int16')
结构化类型,一个字段名'f1',包含int16:
>>> np.dtype([('f1', np.int16)]) dtype([('f1', '<i2')])
结构化类型,一个名为“f1”的字段,其本身包含一个具有一个字段的结构化类型:
>>> np.dtype([('f1', [('f1', np.int16)])]) dtype([('f1', [('f1', '<i2')])])
结构化类型,两个字段:第一个字段包含 unsigned int,第二个字段包含 int32:
>>> np.dtype([('f1', np.uint64), ('f2', np.int32)]) dtype([('f1', '<u8'), ('f2', '<i4')])
使用数组协议类型字符串:
>>> np.dtype([('a','f8'),('b','S10')]) dtype([('a', '<f8'), ('b', 'S10')])
使用逗号分隔的字段格式。形状为(2,3):
>>> np.dtype("i4, (2,3)f8") dtype([('f0', '<i4'), ('f1', '<f8', (2, 3))])
使用元组。
int
是固定类型,3 字段的形状。void
是一种灵活的类型,这里的大小为 10:>>> np.dtype([('hello',(np.int64,3)),('world',np.void,10)]) dtype([('hello', '<i8', (3,)), ('world', 'V10')])
细分
int16
为 2int8
,称为 x 和 y。 0 和 1 是以字节为单位的偏移量:>>> np.dtype((np.int16, {'x':(np.int8,0), 'y':(np.int8,1)})) dtype((numpy.int16, [('x', 'i1'), ('y', 'i1')]))
使用词典。名为“性别”和“年龄”的两个字段:
>>> np.dtype({'names':['gender','age'], 'formats':['S1',np.uint8]}) dtype([('gender', 'S1'), ('age', 'u1')])
以字节为单位的偏移量,此处为 0 和 25:
>>> np.dtype({'surname':('S25',0),'age':(np.uint8,25)}) dtype([('surname', 'S25'), ('age', 'u1')])
- 属性:
alignment
根据编译器,该数据类型所需的对齐方式(字节)。
base
返回子数组的基本元素的 dtype,无论其维度或形状如何。
byteorder
指示该数据类型对象的字节顺序的字符。
char
21 种不同内置类型的每一种都有唯一的字符代码。
descr
__array_interface__数据类型的描述。
fields
为此数据类型定义的命名字段的字典,或
None
.flags
描述如何解释此数据类型的位标志。
hasobject
布尔值,指示此数据类型是否在任何字段或子数据类型中包含任何引用计数对象。
isalignedstruct
布尔值,指示数据类型是否是保持字段对齐的结构。
isbuiltin
指示此数据类型与内置数据类型如何关联的整数。
isnative
布尔值,指示此数据类型的字节顺序是否是平台本机的。
itemsize
此数据类型对象的元素大小。
kind
识别一般数据类型的字符代码(“biufcmMOSUV”之一)。
metadata
或
None
元数据的只读字典(映射代理)。name
该数据类型的位宽名称。
names
字段名称的有序列表,或者
None
如果没有字段。ndim
如果此数据类型描述子数组,则为子数组的维数,
0
否则。num
21 种不同的内置类型中的每一种都有一个唯一的编号。
shape
如果此数据类型描述子数组,则子数组的形状元组,
()
否则。str
此数据类型对象的数组协议类型字符串。
subdtype
如果它描述子数组,则为Tuple ,否则为 None。
(item_dtype, shape)
dtype
- 类型
方法
newbyteorder
([新命令])返回具有不同字节顺序的新数据类型。