當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。