Тип bool
Тип bool в NumPy представляет логические значения
True и False. Он занимает 1 байт памяти и
используется для хранения результатов сравнений, логических
операций и создания масок для индексации. При создании массива
с данным типом все значения преобразуются в логический формат:
число 0 преобразуется в False, а любое ненулевое число -
в True.
Синтаксис
np.array([True, False], dtype=np.bool_)
Пример
Давайте создадим массив логического типа из списка значений:
import numpy as np
arr = np.array([True, False, True], dtype=np.bool_)
print(arr)
Результат выполнения кода:
[ True False True]
Пример
При создании массива числа автоматически преобразуются в логический тип:
import numpy as np
arr = np.array([0, 1, 2, -5, 0.0], dtype=np.bool_)
print(arr)
Результат выполнения кода:
[False True True True False]
Пример
Операции сравнения возвращают массив логического типа:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = arr > 3
print(res)
Результат выполнения кода:
[False False False True True]
Пример
Логический массив можно использовать для индексации (маскирования):
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
mask = np.array([False, True, True, False, True])
res = arr[mask]
print(res)
Результат выполнения кода:
[20 30 50]
Пример
Логический тип можно использовать в арифметических операциях. Значение True интерпретируется как 1, а False как 0:
import numpy as np
arr = np.array([True, False, True, False])
res = arr.astype(np.int32)
print(res)
print(res.sum())
Результат выполнения кода:
[1 0 1 0]
2