创建一个数据类型对象。
numpy数组是同类的,并且包含dtype对象描述的元素。可以从基本数字类型的不同组合构造dtype对象。
参数:obj:
要转换为数据类型对象的对象。
align: : bool, 可选参数
在字段中添加填充以匹配C编译器将为类似的C-struct输出的内容。可True仅当obj是字典或逗号分隔的字符串时。如果正在创建struct dtype,这还将设置粘性对齐标志isalignedstruct。
copy: : bool, 可选参数
制作数据类型对象的新副本。如果False,结果可能只是对内置数据类型对象的引用。
例子:
使用array-scalar类型:
>>> np.dtype(np.int16)
dtype('int16')
结构化类型,一个字段名称‘f1’,包含int16:
>>> np.dtype([('f1', np.int16)])
dtype([('f1', '
结构化类型,一个名为‘f1’的字段,其本身包含具有一个字段的结构化类型:
>>> np.dtype([('f1', [('f1', np.int16)])])
dtype([('f1', [('f1', '
结构化类型有两个字段:第一个字段包含一个无符号的int,第二个字段包含一个int32:
>>> np.dtype([('f1', np.uint64), ('f2', np.int32)])
dtype([('f1', '
使用array-protocol类型的字符串:
>>> np.dtype([('a','f8'),('b','S10')])
dtype([('a', '
使用逗号分隔的字段格式。形状为(2,3):
>>> np.dtype("i4, (2,3)f8")
dtype([('f0', '
使用元组。int是固定类型,即3个字段的形状。void是一种灵活的类型,大小为10:
>>> np.dtype([('hello',(np.int64,3)),('world',np.void,10)])
dtype([('hello', '
细分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')]))
使用字典。名为‘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')])
属性:根据编译器,此数据类型的所需对齐方式(字节)。
不管子数组的尺寸或形状如何,都为子数组的基础元素返回dtype。
指示此数据类型对象的字节顺序的字符。
21种不同的内置类型中的每一种的唯一字符代码。
__array_interface__数据类型的描述。
为此数据类型定义的命名字段的字典,或者None。
Bit-flags描述如何解释此数据类型。
布尔值,指示此dtype在任何字段或sub-dtypes中是否包含任何reference-counted对象。
指示dtype是否为保持字段对齐的结构的布尔值。
整数,指示此dtype与内置 dtype的关系。
布尔值,指示此dtype的字节顺序是否是平台固有的。
此数据类型对象的元素大小。
标识通用数据类型的字符代码(‘biufcmMOSUV’中的一个)。
metadata:
此数据类型的bit-width名称。
字段名称的有序列表,或者None如果没有字段。
如果此数据类型描述了sub-array,则sub-array的维数,并且0除此以外。
21种不同的内置类型中的每一个的唯一编号。
如果此数据类型描述了sub-array,则sub-array的形状元组,以及()除此以外。
此数据类型对象的array-protocol类型字符串。
元组(item_dtype, shape)如果这dtype描述一个sub-array,否则没有。
用于实例化此数据类型的标量的类型对象。
方法:
newbyteorder([new_order])
返回具有不同字节顺序的新dtype。