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, результат может быть просто ссылкой на встроенный объект типа данных.См. также
Примеры
Использование типа массива-скаляра:
>>> 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на 2int8с именами 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')])Атрибуты
basedescrОписание интерфейса PEP3118 типа данных. fieldsСловарь именованных полей, определённых для данного типа данных, или None.hasobjectЛогическое значение, указывающее, содержит ли этот dtype какие-либо объекты с подсчётом ссылок в каких-либо полях или под-dtype. isalignedstructЛогическое значение, указывающее, является ли dtype структурой, которая поддерживает выравнивание полей. isbuiltinЦелое число, указывающее, как этот dtype связан со встроенными dtype. isnativeЛогическое значение, указывающее, является ли порядок байтов этого dtype родным для платформы. metadatanameИмя ширины бита для этого типа данных. 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