Verwenden eines Numpy-Arrays als Indizes für das 2. Maß eines anderen Arrays? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Indexieren eines Arrays nach dem anderen in numpy 3 answers

Zum Beispiel habe ich zwei numpy Arrays,

A = np.array(
  [[0,1], 
   [2,3], 
   [4,5]])
B = np.array(
  [[1],
   [0],
   [1]], dtype='int')

und ich möchte ein Element aus jeder Zeile von @ extrahierA, und dieses Element wird von @ indizieB, also möchte ich die folgenden Ergebnisse:

C = np.array(
  [[1],
   [2],
   [5]])

Ich habe es versuchtA[:, B.ravel()], aber es wird gesendetB, nicht was ich will. Sah auch innp.take, scheint nicht die richtige Lösung für mein Problem zu sein.

Allerdings könnte ichnp.choose durch transponierenA,

np.choose(B.ravel(), A.T)

aber eine andere bessere Lösung?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage