Атрибут str
Атрибут str класса dtype возвращает строковое описание типа данных, которое можно использовать для создания нового объекта dtype. Это строковое представление является канонической формой типа, совместимой с синтаксисом, который понимает конструктор dtype.
В отличие от атрибута name, который возвращает человекочитаемое имя, str возвращает техническую строку, точно определяющую структуру данных, включая порядок байтов, размерность и состав полей для составных типов.
Синтаксис
dtype.str
Где dtype - объект типа данных NumPy.
Пример
Получим строковое представление для простого целочисленного типа:
import numpy as np
dt = np.dtype('int32')
res = dt.str
print(res)
Результат выполнения кода:
"<i4"
Пример
Сравним строковое представление для разных числовых типов:
import numpy as np
dt1 = np.dtype('float64')
dt2 = np.dtype('complex128')
print(dt1.str)
print(dt2.str)
Результат выполнения кода:
"<f8"
"<c16"
Символ < обозначает порядок байтов little-endian, f8 - 8-байтовое число с плавающей точкой, c16 - 16-байтовое комплексное число.
Пример
Используем строковое представление для восстановления типа данных:
import numpy as np
dt_orig = np.dtype([('x', 'f4'), ('y', 'i2')])
dt_str = dt_orig.str
dt_new = np.dtype(dt_str)
print(dt_orig)
print(dt_str)
print(dt_new)
Результат выполнения кода:
[('x', '<f4'), ('y', '<i2')]
"[('x', '<f4'), ('y', '<i2')]"
[('x', '<f4'), ('y', '<i2')]
Как видно, строка точно описывает структуру составного типа данных.
Пример
Получим строковое представление для строкового типа:
import numpy as np
dt = np.dtype('S10')
res = dt.str
print(res)
Результат выполнения кода:
"|S10"
Символ | означает порядок байтов не применим (для строк), S10 - байтовая строка длиной 10 символов.
Пример
Применим атрибут str к массиву для получения типа его элементов:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
dt_str = arr.dtype.str
print(dt_str)
Результат выполнения кода:
"<i8"
Смотрите также
-
атрибут
name,
который возвращает человекочитаемое имя типа данных -
атрибут
kind,
который возвращает символ, определяющий категорию типа данных -
атрибут
char,
который возвращает символ для представления типа данных в строковом виде -
атрибут
itemsize,
который возвращает размер элемента типа данных в байтах