2行目の配列があり、行、colインデックスのリストを使用して要素を抽出したい場合。ブロードキャストを使用してリストを2次元インデックスで持つ2D numpy配列から要素を取得する方法は?
xy = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
idx = np.array([[0, 0], [1, 1], [2, 2]])
ループのためのソリューション:そこIDXはタプルのリストがあるが、何がある場合、私は解決策を望んでいない場合
print(elements)
>> [1, 5, 9]
私は解決策を見つけた:出力
elements = list()
for i in idx:
elements.append(xy[idx[i][0], xy[idx[i][1])
idxを最初にタプルに変換する必要があります。
Numpyは1dインデックスのテイクメソッドを持っていますが、まだそれを使用するように配列を変更する方法を考えていますか? (正しい解決策であれば) – dranobob
私は混乱していますが、これは重複としてマークされていますが、リンクされた質問はインデックスをタプルに変換しています(これは避けようとしています)。 – dranobob
Hooray、その答えが見つかりました。私はここで答えを加えることができないので。 溶液だけスライスを使用している: 要素= XY [IDX [:0]、IDXの[:1]] – dranobob