Spec-Zone.ru › NumPy 2.0

numpy.dtype

classnumpy.dtype(dtype, align=False, copy=False[, metadata])[source]

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

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

Параметры:
dtype

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

alignbool, необязательно

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

copybool, необязательно

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

metadatadict, необязательно

Необязательный словарь с метаданными dtype.

См. также

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

Использование словарей. Два поля с именами «пол» и «возраст»:

>>> 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

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

byteorder

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

char

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

descr

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

fields

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

flags

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

hasobject

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

isalignedstruct

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

isbuiltin

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

isnative

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

itemsize

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

kind

Код символа (один из «biufcmMOSUV») для идентификации общего типа данных.

metadata

Либо None, либо только для чтения словарь метаданных (mappingproxy).

name

Имя ширины бита для этого типа данных.

names

Упорядоченный список имен полей, или None если полей нет.

ndim

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

num

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

shape

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

str

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

subdtype

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

type

Методы

newbyteorder([new_order])

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

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

Spec-Zone.ru

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