原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.dtype.html
校对:(虚位以待)
numpy.
dtype
[source]创建数据类型对象。
numpy数组是同构的,并且包含由dtype对象描述的元素。dtype对象可以由基本数值类型的不同组合构成。
参数: | obj
align:bool,可选
copy:bool,可选
|
---|
也可以看看
例子
使用数组标量类型:
>>> 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.uint), ('f2', np.int32)])
dtype([('f1', '<u4'), ('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.int,3)),('world',np.void,10)])
dtype([('hello', '<i4', 3), ('world', '|V10')])
将int16
细分为2 int8
,称为x和y。0和1是字节的偏移量:
>>> np.dtype((np.int16, {'x':(np.int8,0), 'y':(np.int8,1)}))
dtype(('<i2', [('x', '|i1'), ('y', '|i1')]))
使用字典。两个名为“gender”和“age”的字段:
>>> 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')])
属性
base |
|
descr |
数组类型的数组接口完全描述。 |
fields |
为此数据类型定义的命名字段字典,或None 。 |
hasobject |
布尔值,指示此dtype是否在任何字段或子类型中包含任何引用计数的对象。 |
isalignedstruct |
布尔值,表示dtype是否为保持字段对齐的结构体。 |
isbuiltin |
整数指示此dtype如何与内置的dtype相关。 |
isnative |
布尔值,指示此dtype的字节顺序是否为平台本地的。 |
metadata |
|
name |
此数据类型的位宽名称。 |
names |
字段名称的有序列表,如果没有字段,则为None 。 |
shape |
如果此数据类型描述子数组,则子数组的形状元组,否则为() 。 |
str |
此数据类型对象的数组协议typestring。 |
subdtype |
Tuple (item_dtype, shape) if this dtype describes a sub-array, and None otherwise. |
方法
newbyteorder ([new_order]) |
返回一个具有不同字节顺序的新dtype。 |