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