NumPyが新しく、numpy配列でいくつかの条件文を実行する際に問題が発生しました。のは、私はこのように見える3つのnumpyの配列を持っているとしましょう:numpy配列の条件演算
:
B:
[[6, 9, 8, 6],
[7, 7, 9, 6],
[8, 6, 5, 7]]
と、C:
[[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
私は条件文を持っていますaとbについて、cの値を計算するためにbの値(aとbの条件が満たされている場合)を使用したいと思っている場合、c:
c[(a > 3) & (b > 8)]+=b*2
私はというエラーを取得する:私はこれを実現する方法を
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
ValueError: non-broadcastable output operand with shape (1,) doesn't match the broadcast shape (3,4)
任意のアイデア?
私は次のように見えるように、Cの出力をしたいと思います:
[[0, 18, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
ありがとう!彼らがすべて働いていたみんなのアップアップ。 np.whereの@Psidomからの回答を受け入れてくれました。それは最も感謝していました。私の実際のスクリプトでは、数百万回もこれらの条件が実行されます。 – bobby12345