1. ホーム
  2. python

[解決済み] numpyがvalueがtrueのときのインデックスを取得する

2022-06-04 09:20:27

質問

>>> ex=np.arange(30)
>>> e=np.reshape(ex,[3,10])
>>> e
array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]])
>>> e>15
array([[False, False, False, False, False, False, False, False, False,
        False],
       [False, False, False, False, False, False,  True,  True,  True,
         True],
       [ True,  True,  True,  True,  True,  True,  True,  True,  True,
         True]], dtype=bool)

の中でtrueまたは行を持つ行を見つける必要があります。 e の行で、値が15以上のものを見つける必要があります。私はforループを使用して反復することができましたが、私はnumpyがより効率的にこれを行うことができる方法があるかどうかを知りたいのですが?

どのように解決するのですか?

少なくとも1つの項目が15より大きい行番号を取得する。

>>> np.where(np.any(e>15, axis=1))
(array([1, 2], dtype=int64),)