3

私のアレイの場合:
array([[ 1, 2, 3, 4, 5], #a
[ 1, 3, 5, 7, 9],
[ 5, 10, 15, 20, 25],
[ 2, 4, 6, 8, 5]])


array([[ 1, 2, 3, 4, 16], #b
[ 1, 3, 16, 7, 9],
[ 5, 16, 15, 20, 25],
[ 2, 4, 6, 8, 5]])

の結果を取得しようとしていますnp.where((a==5 and b==16))。私が期待する:

Out[1]: (array([0, 1], dtype=int64), array([4, 2], dtype=int64)

それはどこに5あり16、同じインデックスを共有しているからです。しかし、代わりに私は

ValueError:複数の要素を持つ配列の真理値があいまいです。a.any()またはa.all()を使用します

np.where((a.all()==5 and b.any()==16))やってみると

Out[1]: (array([], dtype=int64),)

何か案は?前もって感謝します。

4

1 に答える 1

4

&代わりに使用したいand

np.where((a==5) & (b==16))

numpy 配列を扱うときは、論理 AND の代わりにビット単位の演算子を使用します。

于 2013-01-01T01:45:34.570 に答える