dire che ho una matrice numpy (40,20,30) e che ho una funzione che dopo un po 'di lavoro restituirà metà della matrice di input lungo un asse di input selezionato. C'è un modo automatico per farlo? Vorrei evitare un codice così brutta:slicing array numpy lungo una dimensione arbitraria
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
grazie per il vostro aiuto
Eric
proposito: split() prende anche una tupla specificando punti di divisione arbitrari. – mhsmith