Spec-Zone.ru › NumPy 1.11

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

Методы

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

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

Spec-Zone.ru

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