ndarray.astype()
Метод ndarray.astype() создаёт копию массива с другим типом данных. Применяется для конвертации между int, float, bool, complex и т. д.
Сигнатура
ndarray.astype(dtype, order='K', casting='unsafe',
subok=True, copy=True)
Параметры
dtype— целевой тип данных (например,np.int32,np.float64,'uint8').order— порядок хранения:'C','F','A','K'.casting— правила приведения:'no','equiv','safe','same_kind','unsafe'.subok— сохранять ли подклассы.copy— еслиFalseи тип совпадает, копия не создаётся.
Возвращаемое значение
ndarray указанного типа.
Примеры
Пример 1. float → int (с обрезанием дробной части).
import numpy as np
arr = np.array([1.7, 2.3, -0.9])
print(arr.astype(int))
[ 1 2 0]
Пример 2. int → float.
arr = np.array([1, 2, 3])
print(arr.astype(np.float32))
[1. 2. 3.]
Пример 3. Сжатие в ``uint8`` для пикселей.
img = np.array([0.0, 0.5, 1.0])
print((img * 255).astype(np.uint8))
[ 0 127 255]
Пример 4. Приведение к bool.
arr = np.array([0, 1, 2, 0, -3])
print(arr.astype(bool))
[False True True False True]
Пример 5. Безопасное приведение с проверкой casting.
arr = np.array([1.5, 2.5])
try:
arr.astype(int, casting='safe')
except TypeError as e:
print("Ошибка:", e)
Ошибка: Cannot cast array from dtype('float64') to dtype('int64') according to the rule 'safe'
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.