我有一个形状为 (3, 3) 和 dtype=object 的 2D numpy 数组,其元素是 (str, str, float) 形式的元组。
template = ('Apple', 'Orange', 5.0)
my_array = np.array([None] * 9).reshape((3,3))
for i in range(my_array.shape[0]):
for j in range(my_array.shape[1]):
my_array[i, j] = template
但是当我尝试获取布尔掩码时
print(my_array == template)
答案全是假的
[[False False False]
[False False False]
[False False False]]
然而,逐元素比较仍然有效
print(my_array[0,0] == template) # This prints True
为什么布尔掩码返回所有 False 以及如何使其工作?
PS我已经搜索了相关主题,但无法使用任何...