numpy 配列から、またはさらに興味深いことにそのスライスから要素のみを取得する (非常に) 迅速かつ効率的な方法が必要です。numpy 配列があるとします。
import numpy as np
a = np.arange(-10,10)
リストがある場合:
s = [9, 12, 13, 14]
次から要素を選択できます。
a[s] #array([-1, 2, 3, 4])
条件を満たす a[s] の要素、つまり正 (または負) の (numpy) 配列を作成するにはどうすればよいですか? 結果になるはず
np.ifcondition(a[s]>0, a[s]) #array([2, 3, 4])
些細なことに見えますが、シンプルで凝縮された表現を見つけることができませんでした。マスクはそうだと思いますが、私にはあまり直接的ではありません。ただし、次のいずれもありません。
a[a[s]>0]
a[s[a[s]>0]]
実際には良い選択です。