Атрибут dtype
Атрибут dtype объекта ndarray возвращает информацию
о типе данных, используемых для хранения элементов массива.
Этот атрибут доступен только для чтения и позволяет определить,
какой числовой тип или структуру данных имеет массив.
Тип данных определяет, сколько памяти занимает каждый элемент
и как интерпретируются биты при выполнении операций.
Синтаксис
arr.dtype
Значение атрибута
Атрибут возвращает объект типа dtype, который содержит
информацию о типе данных. Чаще всего это один из стандартных
типов NumPy, таких как int64, float32,
bool, object или str.
Пример
Давайте создадим массив целых чисел и посмотрим его тип данных:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr.dtype)
Результат выполнения кода:
int64
Пример
Тип данных зависит от переданных значений. Массив с числами с плавающей точкой получит соответствующий тип:
import numpy as np
arr = np.array([1.5, 2.7, 3.1])
print(arr.dtype)
Результат выполнения кода:
float64
Пример
Для строкового массива тип данных будет str с указанием
максимальной длины строки:
import numpy as np
arr = np.array(['a', 'b', 'c', 'd', 'e'])
print(arr.dtype)
Результат выполнения кода:
<U1
Пример
При создании массива можно явно указать тип данных через
параметр dtype, и атрибут покажет заданный тип:
import numpy as np
arr = np.array([1, 2, 3], dtype=np.float32)
print(arr.dtype)
Результат выполнения кода:
float32
Пример
Атрибут dtype также доступен для многомерных массивов
и показывает тип всех элементов:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.dtype)
Результат выполнения кода:
int64
Пример
С помощью атрибута dtype можно проверить, является ли
массив числовым, или выполнить условные действия в зависимости
от типа данных:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
if arr.dtype == np.int64:
print("Array is int64")
else:
print("Array is not int64")
Результат выполнения кода:
"Array is int64"
Пример
Атрибут dtype можно использовать для получения
информации о размере элемента в байтах через свойство
itemsize объекта dtype:
import numpy as np
arr = np.array([1, 2, 3, 4, 5], dtype=np.int32)
print(arr.dtype.itemsize)
Результат выполнения кода:
4