创建一个布尔数组

在创建数组时,可以使用 dtype=bool 手动创建布尔数组。0NoneFalse 或空字符串以外的值被视为 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