Numpy / Python: iteração de matriz sem loop

Portanto, é outra questão de matriz n-dimensional: eu quero ser capaz de comparar cada valor em um arrays n-dimensional com seus vizinhos. Por exemplo, se a é a matriz que é bidimensional, eu quero ser capaz de verificar:

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

para todos os elementos. Então, basicamente, verifique todos os vizinhos em todas as dimensões. Agora eu estou fazendo isso via:

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

A forma da matriz é usada, para que eu não entre em um índice fora do intervalo nas bordas. Então, se eu quiser fazer algo assim em n-D para todos os elementos na matriz, eu preciso de n for-loops que pareça estar desarrumado. Existe uma maneira de fazer isso via fatiamento? Algo como um == a [:, - 1 ,:] ou estou entendendo isso totalmente errado? E existe uma maneira de dizer a uma fatia para parar no final? Ou haveria outra ideia de fazer as coisas funcionarem de outra maneira? Matrizes mascaradas? Cumprimentos Joni

questionAnswers(3)

yourAnswerToTheQuestion