Spec-Zone.ru › NumPy 1.13

numpy.dtype

class numpy.dtype [source]

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

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

Параметры:

obj

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

align : bool, необязательно

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

copy : bool, необязательно

Создать новую копию объекта типа данных. Если 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')])])

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

>>> np.dtype([('f1', np.uint), ('f2', np.int32)])
dtype([('f1', '<u4'), ('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.int,3)),('world',np.void,10)])
dtype([('hello', '<i4', 3), ('world', '|V10')])

Разделить int16 на 2 int8 поля, называемые x и y. 0 и 1 — смещения в байтах:

>>> np.dtype((np.int16, {'x':(np.int8,0), 'y':(np.int8,1)}))
dtype(('<i2', [('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')])

Атрибуты

base
descr Описание интерфейса PEP3118 типа данных.
fields Словарь именованных полей, определенных для этого типа данных, или None.
hasobject Булево значение, указывающее, содержит ли этот тип данных какие-либо объекты с подсчётом ссылок в каких-либо полях или подтипах.
isalignedstruct Булево значение, указывающее, является ли тип данных структурой, которая поддерживает выравнивание полей.
isbuiltin Целое число, указывающее, как этот тип данных относится к встроенным типам данных.
isnative Булево значение, указывающее, является ли порядок байтов этого типа данных родным для платформы.
metadata
name Имя битовой ширины для этого типа данных.
names Упорядоченный список имен полей, или None если полей нет.
ndim Количество измерений подмассива, если этот тип данных описывает подмассив, и 0 в противном случае.
shape Кортеж формы подмассива, если этот тип данных описывает подмассив, и () в противном случае.
str Строка типов протокола массива для этого объекта типа данных.
subdtype Кортеж (item_dtype, shape) если этот dtype описывает подмассив, и None в противном случае.

Методы

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

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.dtype.html

Spec-Zone.ru

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