Numpy / Python: итерация массива без цикла for

Так что это еще один вопрос о n-мерном массиве: я хочу иметь возможность сравнивать каждое значение в n-мерных массивах с его соседями. Например, если массив является двумерным, я хочу иметь возможность проверить:

a[y][x]==a[y+1][x]

для всех элементов. В общем, проверьте всех соседей во всех измерениях. Прямо сейчас я делаю это через:

for x in range(1,a.shape[0]-1):
   do.something(a[x])

Используется форма массива, чтобы я не столкнулся с индексом вне диапазона по краям. Поэтому, если я хочу сделать что-то подобное в n-D для всех элементов в массиве, мне нужно n циклов for, которые кажутся неопрятными. Есть ли способ сделать это с помощью нарезки? Что-то вроде == a [:, - 1 ,:] или я правильно понимаю? И есть ли способ сказать срезу остановиться в конце? Или была бы другая идея заставить вещи работать совершенно по-другому? Маскированные массивы? Приветствует Джони

Ответы на вопрос(3)

Ваш ответ на вопрос