StackOverflow
に関するいくつかの質問がありましたが、関連する回答が見つかりませんでした。私はnumpy
ndarray
からk個の最大値のインデックスをフェッチしたいと思います。 This linkは1Dアレイでも同じですが、説明しています。 2D配列用のnp.argsort
は、要素を行ごとにソートしました。すなわちnumpyの多次元配列からk個の最大値のインデックスを取得する方法
Note: array elements are not unique.
入力:
import numpy as np
n = np.arange(9).reshape(3,3)
>>> n
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
s = n.argsort()
>>> s
array([[0, 1, 2],
[0, 1, 2],
[0, 1, 2]], dtype=int32)
また、
import numpy as np
n = np.arange(9).reshape(3,3)
s = n.argsort(axis=None)
>>>s
array([0, 1, 2, 3, 4, 5, 6, 7, 8], dtype=int32)
が、私はここに配列構造を失うていますし、要素の元のインデックスを償還することはできません。
何か助けがありがたいです。 ndarraysためnp.argpartition
とnp.argsort
とアプローチの
はあなたのための答えをしたいですかnD配列の2D配列(n> 2? – Chris