当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy dtype用法及代码示例


本文简要介绍 python 语言中 numpy.dtype 的用法。

用法:

class  numpy.dtype(dtype, align=False, copy=False)

创建一个数据类型对象。

numpy 数组是同质的,并且包含由 dtype 对象说明的元素。 dtype 对象可以由基本数字类型的不同组合构成。

参数

dtype

要转换为数据类型对象的对象。

align 布尔型,可选

向字段添加填充以匹配 C 编译器为类似的 C-struct 输出的内容。可True除非对象是字典或逗号分隔的字符串。如果正在创建 struct dtype,这也会设置一个粘性对齐标志isalignedstruct.

copy 布尔型,可选

制作数据类型对象的新副本。如果 False ,结果可能只是对内置数据类型对象的引用。

例子

使用 array-scalar 类型:

>>> 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')])

使用 array-protocol 类型字符串:

>>> 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 细分为 2 个 int8 ,分别称为 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')])

属性

numpy.dtype.alignment

根据编译器,此数据类型所需的对齐方式(字节)。

numpy.dtype.base

返回子数组的基本元素的 dtype,无论它们的维度或形状如何。

numpy.dtype.byteorder

指示此数据类型对象的字节顺序的字符。

char

21 种不同的内置类型中的每一种都有一个唯一的字符代码。

numpy.dtype.descr

__array_interface__ 数据类型的说明。

numpy.dtype.fields

为此数据类型定义的命名字段字典,或 None

numpy.dtype.flags

Bit-flags 说明如何解释此数据类型。

hasobject

布尔值,指示此 dtype 是否在任何字段或 sub-dtypes 中包含任何 reference-counted 对象。

isalignedstruct

布尔值,指示 dtype 是否是保持字段对齐的结构。

numpy.dtype.isbuiltin

指示此 dtype 如何与内置 dtypes 相关的整数。

isnative

布尔值,指示此 dtype 的字节顺序是否是平台原生的。

numpy.dtype.itemsize

此数据类型对象的元素大小。

numpy.dtype.kind

识别一般数据类型的字符代码(“biufcmMOSUV”之一)。

numpy.dtype.metadata

None 或元数据的只读字典(mappingproxy)。

numpy.dtype.name

此数据类型的 bit-width 名称。

numpy.dtype.names

字段名称的有序列表,如果没有字段,则为 None

numpy.dtype.ndim

如果此数据类型说明了sub-array,则为sub-array 的维数,否则为0

numpy.dtype.num

21 种不同的内置类型中的每一种都有一个唯一编号。

numpy.shape

如果此数据类型说明了sub-array,则为sub-array 的形状元组,否则为()

str

此数据类型对象的 array-protocol 类型字符串。

numpy.dtype.subdtype

如果 dtype 说明了 sub-array,则为元组 (item_dtype, shape),否则为 None。

type

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.dtype。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。