私は2つの派手な配列を持っています:
a = np.arange(100*100).reshape(100,100)
b = np.random.rand(100, 100)
配列の特定の部分を抽出するためのスライスのタプルもあります。
slice_ = (slice(5, 10), slice(5, 10))
次に、このスライスの特定の部分を選択するための一連のブール インデックスがあります。
indices = b[slice_] > 0.5
これらのインデックスを別の値に設定したい場合は、簡単に実行できます。
a[slice_][indices] = 42
ただし、ブール値インデックスの別のセットを作成して、インデックス付き配列の特定の部分を選択すると、次のようになります。
high_indices = a[slice_][indices] > 700
次に、これらのインデックスで配列の値を設定してみてください。
a[slice_][indices][high_indices] = 42 # Doesn't do anything!
2 つのインデックス配列を一緒に AND する必要があるのではないかと考えましたが、indices
形状が異なります。(5, 5)
high_indices
(12,)
比較的単純なことをしようとして、ここでひどい混乱に陥ったと思います。配列の値を設定できるように、これら 2 つのブール配列を使用してインデックスを作成するにはどうすればよいですか?