Ich möchte die folgende Operation in Python automatisieren. Gegeben ein n-dimensionales np.array
, z.B.Automatisches Umschalten der Dimension bei der Array-Indizierung (Python)
ar = np.array([[[ 8, 10],
[ 9, 11],
[10, 12]],
[[ 9, 11],
[10, 12],
[11, 13]]])
Mit Namen für jede der Dimensionen in dim_names
, z.
dim_names = ['A','B','C']
Wählen Sie alle Randwerte einer beliebigen Dimension, z.
ind = dim_names.index('B')
for i in range(ar.shape[ind]):
print(ar[:,i,:])
Aber je nach ind
die Indizierung ändern ist, beispielsweise für ind = 0
benötigen wir ar[i,:,:]
oder ind = 2
ar[:,:,i]
. Außerdem sollte es für ein Array mit einer beliebigen Anzahl von Dimensionen funktionieren.