У меня есть массив numpy с формой (20,50,100,500,500), и я хочу нарезать массив на основе третьего измерения, скажем, 40/60.
(20,50,100,500,500)
Все, что я могу придумать, - это сделать. array[:,:,:40,:,:] и array[:,:,60:,:,:], но как связать их, не испортив размеры?
array[:,:,:40,:,:]
array[:,:,60:,:,:]
Я использовал np.stack, установив axis=2 следующим образом:
axis=2
>>> a = np.random.rand(2,2,2,2,2) >>> a1 = a[:,:,:1,:,:] >>> a2 = a[:,:,1:,:,:] >>> b = np.stack((a1,a2), axis=2)
Надеюсь, это поможет.
Просто объединить на правой оси:
np.concatenate([ array[:,:,:40,:,:], array[:,:,60:,:,:] ], axis=2)