Ich muss bestimmte Werte aus einem mehrdimensionalen Array extrahieren, die nicht aufeinander folgen.Wertefeld mit Indizes extrahieren
import numpy as np
A = np.array([[[ 0., 4., 0. ],
[ 0.19230769, 4.03846154, 0. ],
[-0.4, 4.8, 0. ],
[ 2., 1., 0. ]],
[[ 1.2, 3.4, 0. ],
[ 2.11538462, 4.42307692, 0. ],
[ 0., 4., 0. ],
[ 3.6, 1.8, 0. ]],
[[ 1.8, 3.1, 0. ],
[ 3.17307692, 4.63461538, 0. ],
[ 0., 4., 0. ],
[ 4., 2., 0. ]]])
Für jeden 4x3-Block I eine beliebige Reihe
Zum Beispiel die folgenden Elemente extrahieren möchten:
A[0,2,:]
A[1,1,:]
A[2,1,:]
Also im Grunde die Reihen B = [2,1,1]
, die mir geben würde:
[-0.4 4.8 0. ]
[ 2.11538462 4.42307692 0. ]
[ 3.17307692 4.63461538 0. ]
Wie geht das effizient?