Тип float32
Тип данных float32 в NumPy представляет собой
32-битное число с плавающей запятой одинарной точности.
Он занимает 4 байта (32 бита) памяти и обеспечивает
примерно 7-8 значащих десятичных цифр точности.
Этот тип полезен для экономии памяти при работе с
большими объёмами данных, особенно в задачах машинного
обучения и обработки изображений, где допустима
небольшая потеря точности.
Синтаксис
Для указания типа данных float32 при создании
массива используется параметр dtype:
np.array(object, dtype=np.float32)
Также можно использовать строковый идентификатор:
np.array(object, dtype='float32')
Пример
Создадим массив из списка чисел с типом float32:
import numpy as np
arr = np.array([1, 2, 3, 4, 5], dtype=np.float32)
print(arr)
print(arr.dtype)
Результат выполнения кода:
[1. 2. 3. 4. 5.]
float32
Пример
Преобразуем существующий массив в тип float32
с помощью метода astype:
import numpy as np
arr_int = np.array([10, 20, 30, 40, 50])
arr_float32 = arr_int.astype(np.float32)
print(arr_float32)
print(arr_float32.dtype)
Результат выполнения кода:
[10. 20. 30. 40. 50.]
float32
Пример
Создадим двумерный массив с типом float32
и выполним арифметическую операцию:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32)
res = arr * 0.5
print(res)
print(res.dtype)
Результат выполнения кода:
[[0.5 1. 1.5]
[2. 2.5 3. ]]
float32
Пример
Использование float32 для экономии памяти
по сравнению с float64:
import numpy as np
arr_float64 = np.ones(1000000, dtype=np.float64)
arr_float32 = np.ones(1000000, dtype=np.float32)
print("float64 memory:", arr_float64.nbytes)
print("float32 memory:", arr_float32.nbytes)
Результат выполнения кода:
"float64 memory: 8000000"
"float32 memory: 4000000"