numpy.dtype
-
class numpy.dtype(obj, align=False, copy=False)[source] -
Создать объект типа данных.
Массив NumPy является однородным и содержит элементы, описанные объектом dtype. Объект dtype может быть создан из различных комбинаций фундаментальных числовых типов.
- Параметры
-
- obj
-
Объект, который нужно преобразовать в объект типа данных.
-
alignbool, optional -
Добавить выравнивание к полям, чтобы соответствовать тому, что выведет компилятор C для аналогичной структуры C. Может быть
Trueтолько еслиobjявляется словарем или строкой, разделённой запятыми. Если создаётся структура типа dtype, это также устанавливает флаг выравниванияisalignedstruct. -
copybool, optional -
Создать новую копию объекта типа данных. Если
False, результат может быть просто ссылкой на встроенный объект типа данных.
См. также
Примеры
Использование типа массива-скаляра:
>>> 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на 2int8’a, называемые 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 -
Возвращает dtype для базового элемента подмассивов, независимо от их размерности или формы.
-
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.18/reference/generated/numpy.dtype.html