私は2次元のnumpy配列matrix(shape(m、n))を持っています。と、ファンシーインデクシングnumpy行列:1行に1要素
matrix = np.arange(5*3).reshape((5, 3))
I形状(M)の整数のインデックス付け配列、IDXを有する:私の実際のユースケースは、M〜1E5およびn〜100を有しているが、単純な最小の例を有するため[0、n]の間の各エントリ。この配列は、行列の各行から選択する列を指定します。
idx = np.array([2, 0, 2, 1, 1])
だから、私はこのように、行4から行1、列1から行2、列1から行1、列2から行0、列0から列2を選択するために、最終的な答えは必要がありますしようとしています:
correct_result = np.array((2, 3, 8, 10, 13))
私は直感的である、以下を試してみましたが、間違っています
incorrect_result = matrix[:, idx]
何上記の構文はありませんが、別の結果として、行によって、ファンシーインデックス列、行としてIDXを適用しています形状行列(m、n)、それは私が望むものではありません。
このタイプのファンシーインデックスの正しい構文は何ですか?
ありがとう@Divakar、これは確かに同じ質問です。私の検索でなぜそれが聞こえないのか分かりません。 – aph
明らかにSOの検索エンジンはそれほど素晴らしいものではありません。ですから、私がしていることの一つは、キーワードに 'site:stackoverflow.com'を追加してgoogle検索をすることです。 – Divakar
ヒントをいただきありがとうございます。 – aph