Атрибут shape класса dtype
Атрибут shape класса dtype возвращает форму подтипа для составных типов данных. Для простых скалярных типов возвращает пустой кортеж. Для типов, представляющих вложенные массивы (subarray), возвращает кортеж с размерами формы. Позволяет определить, содержит ли dtype вложенную структуру данных.
Синтаксис
dtype.shape
Пример
Получим shape для простого типа данных:
import numpy as np
dt = np.dtype('int64')
print("Shape:", dt.shape)
Результат выполнения кода:
Shape: ()
Пример
Создадим dtype с вложенным массивом и получим его shape:
import numpy as np
dt = np.dtype(('int64', (2, 3)))
print("Shape:", dt.shape)
Результат выполнения кода:
Shape: (2, 3)
Пример
Создадим массив с вложенным dtype и получим форму:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]], dtype='i4')
dt = arr.dtype
print("Dtype shape:", dt.shape)
print("Array shape:", arr.shape)
Результат выполнения кода:
Dtype shape: ()
Array shape: (2, 3)
Пример
Проверка наличия вложенной структуры:
import numpy as np
dt1 = np.dtype('float32')
dt2 = np.dtype(('float32', (2, 2)))
def has_subarray(dt):
return dt.shape != ()
print("dt1 has subarray:", has_subarray(dt1))
print("dt2 has subarray:", has_subarray(dt2))
Результат выполнения кода:
dt1 has subarray: False
dt2 has subarray: True