Поиск…


Создание логического массива

Булевский массив можно создать вручную, используя dtype=bool при создании массива. Значения, отличные от 0 , None , False или пустые строки, считаются True.

import numpy as np

bool_arr = np.array([1, 0.5, 0, None, 'a', '', True, False], dtype=bool)
print(bool_arr)
# output: [ True  True False False  True False  True False]

В качестве альтернативы, numpy автоматически создает логический массив при сравнении между массивами и скалярами или между массивами одной и той же формы.

arr_1 = np.random.randn(3, 3)
arr_2 = np.random.randn(3, 3)

bool_arr = arr_1 < 0.5    
print(bool_arr.dtype)
# output: bool

bool_arr = arr_1 < arr_2
print(bool_arr.dtype)
# output: bool


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow