3

形状 (3, 3) の 2D numpy 配列と dtype=object があり、その要素は形式 (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関連するトピックを検索しましたが、利用できませんでした...

Python でのタプルの配列 タプルの配列
の再構築
関数をタプルの配列に適用する タプルの
numpy 配列をフィルター処理する

4

1 に答える 1