Spec-Zone.ru › NumPy 1.19

numpy.dtype

class numpy.dtype(obj, align=False, copy=False) [source]

Создать объект типа данных.

Массив NumPy является однородным и содержит элементы, описанные объектом типа данных. Объект типа данных можно создать из различных комбинаций основных числовых типов.

Параметры
obj

Объект, который необходимо преобразовать в объект типа данных.

alignbool, optional

Добавить выравнивание к полям, чтобы соответствовать тому, что выведет компилятор C для подобной C-структуры. Может быть применено True только если obj является словарем или строкой, разделённой запятыми. Если создаётся структурированный тип данных, это также устанавливает флаг выравнивания isalignedstruct.

copybool, optional

Создать новую копию объекта типа данных. Если False, результат может быть просто ссылкой на встроенный объект типа данных.

См. также

result_type

Примеры

Использование типа массива-скаляра:

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

Структурированный тип, два поля: первое поле содержит целое число без знака, второе – целое число 32-битное:

>>> 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 на 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')])
Атрибуты
alignment

Требуемое выравнивание (в байтах) этого типа данных в соответствии с компилятором.

base

Возвращает тип данных для базового элемента подмассивов, независимо от их размерности или формы.

byteorder

Символ, указывающий порядок байтов этого объекта типа данных.

char

Уникальный символьный код для каждого из 21 встроенного типа.

descr

__array_interface__ описание типа данных.

fields

Словарь именованных полей, определённых для этого типа данных, или None.

flags

Флаги битов, описывающие, как интерпретировать этот тип данных.

hasobject

Логическое значение, указывающее, содержит ли этот тип данных какие-либо объекты со ссылочным подсчётом в каких-либо полях или подтипах.

isalignedstruct

Логическое значение, указывающее, является ли тип данных структурой, которая поддерживает выравнивание полей.

isbuiltin

Целое число, указывающее, как этот тип данных связан со встроенными типами данных.

isnative

Логическое значение, указывающее, является ли порядок байтов этого типа данных родным для платформы.

itemsize

Размер элемента этого объекта типа данных.

kind

Символьный код (один из ‘biufcmMOSUV’) определяющий общий тип данных.

metadata
name

Название ширины бита для этого типа данных.

names

Отсортированный список имён полей, или None если полей нет.

ndim

Количество измерений подмассива, если этот тип данных описывает подмассив, и 0 в противном случае.

num

Уникальное число для каждого из 21 встроенного типа.

shape

Кортеж формы подмассива, если этот тип данных описывает подмассив, и () в противном случае.

str

Строка типа протокола массива для этого объекта типа данных.

subdtype

Кортеж (item_dtype, shape) если этот dtype описывает подмассив, и None в противном случае.

type

Объект типа, используемый для создания скаляра этого типа данных.

Методы

newbyteorder([new_order])

Возвращает новый тип данных с другим порядком байтов.

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.dtype.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API