Подтвердить что ты не робот

Укажите середину массива numpy?

Чтобы индексировать средние точки массива numpy, вы можете сделать это:

x = np.arange(10)
middle = x[len(x)/4:len(x)*3/4]

Есть ли сокращение для индексации середины массива? например, элементы n или 2n закрываются до len(x)/2? Есть ли хорошая n-мерная версия этого?

4b9b3361

Ответ 1

как cge сказал, что самый простой способ - превратить его в лямбда-функцию, например:

x = np.arange(10)
middle = lambda x: x[len(x)/4:len(x)*3/4]

или n-мерный способ:

middle = lambda x: x[[slice(np.floor(d/4.),np.ceil(3*d/4.)) for d in x.shape]]