Нарезать середину и массив - PullRequest
0 голосов
/ 21 января 2020

У меня есть массив numpy с формой (20,50,100,500,500), и я хочу нарезать массив на основе третьего измерения, скажем, 40/60.

Все, что я могу придумать, - это сделать. array[:,:,:40,:,:] и array[:,:,60:,:,:], но как связать их, не испортив размеры?

Ответы [ 2 ]

1 голос
/ 21 января 2020

Я использовал np.stack, установив axis=2 следующим образом:

>>> a = np.random.rand(2,2,2,2,2)                                                                                                                                       
>>> a1 = a[:,:,:1,:,:]                                                                                                                                                  
>>> a2 = a[:,:,1:,:,:]                                                                                                                                                  
>>> b = np.stack((a1,a2), axis=2)

Надеюсь, это поможет.

0 голосов
/ 21 января 2020

Просто объединить на правой оси:

np.concatenate([ array[:,:,:40,:,:], array[:,:,60:,:,:] ], axis=2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...