sagen, dass ich ein (40,20,30) numpy Array habe und dass ich eine Funktion habe, die nach einiger Arbeit die Hälfte des Eingabearrays entlang einer ausgewählten Eingabeachse zurückgibt. Gibt es einen automatischen Weg dazu? Ich möchte so einen hässlichen Code vermeiden:Slicing numpy Array entlang einer beliebigen Dimension
def my_function(array,axis=0):
...
if axis == 0:
return array[:array.shape[0]/2,:,:] --> (20,20,30) array
elif axis = 1:
return array[:,:array.shape[1]/2,:] --> (40,10,30) array
elif axis = 2:
return array[:,:,:array.shape[2]/2] --> (40,20,15) array
Dank für Ihre Hilfe
Eric
FYI: split() nimmt auch ein Tupel beliebige Splitpunkte angeben. – mhsmith