Spec-Zone.ru › NumPy 1.14

numpy.dtype

class numpy.dtype(obj, align=False, copy=False) [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',(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')]))

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

>>> 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 Логическое значение, указывающее, содержит ли этот dtype какие-либо объекты с подсчётом ссылок в каких-либо полях или под-dtype.
isalignedstruct Логическое значение, указывающее, является ли dtype структурой, которая поддерживает выравнивание полей.
isbuiltin Целое число, указывающее, как этот dtype связан со встроенными dtype.
isnative Логическое значение, указывающее, является ли порядок байтов этого dtype родным для платформы.
metadata
name Имя ширины бита для этого типа данных.
names Упорядоченный список имён полей, или None если полей нет.
ndim Количество измерений подмассива, если этот тип данных описывает подмассив, и 0 в противном случае.
shape Кортеж формы подмассива, если этот тип данных описывает подмассив, и () в противном случае.
str Строка типов массива-протокола для этого объекта типа данных.
subdtype Кортеж (item_dtype, shape) если этот dtype описывает подмассив, и None в противном случае.

Методы

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

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

Spec-Zone.ru

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