numpy.nonzero / numpy.flatnonzero によって返されるインデックスの順序について疑問に思っています。
それに関するドキュメントには何も見つかりませんでした。それはただ言う:
A[nonzero(flag)] == A[flag]
ほとんどの場合、これで十分ですが、ソートされたインデックスのリストが必要な場合もあります。返されたインデックスが 1 次元の場合に並べ替えられることは保証されていますか、それとも明示的に並べ替える必要がありますか? (同様の質問は、ブール配列(A [flag])で選択するだけで返される要素の順序であり、ドキュメントに従って同じでなければなりません。)
例: フラグ内の True 要素間の「ギャップ」を見つける:
flag=np.array([True,False,False,True],dtype=bool)
iflag=flatnonzero(flag)
gaps= iflag[1:] - iflag[:-1]
ありがとう。