Comment sélectionner dans une matrice un indice donnée et ses voisins avec numpy en python ?

Published: 29 mars 2021

Tags: Python; Numpy;

DMCA.com Protection Status

Exemple de comment sélectionner dans une matrice un indice donnée et ses voisins avec numpy en python

Créer une matrice avec numpy

Créons une matrice de dimension (6,6):

import numpy as np

A = np.arange(36)
A = A.reshape(6,6)

print(A)

donne

[[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]
 [12 13 14 15 16 17]
 [18 19 20 21 22 23]
 [24 25 26 27 28 29]
 [30 31 32 33 34 35]]

Sélectionner un indice donnée et ses voisins

Sélectionnons par exemple l'indice (3,4):

index = [3,4]

la valeur associée à l'indice ci-dessus est:

print(A[3,4])

22

Pour sélectionner les premiers voisins à partir de cet index, une solution est de faire comme ceci:

num_neighbor = 1

left = max(0,index[0]-num_neighbor)
right = max(0,index[0]+num_neighbor+1)

bottom = max(0,index[1]-num_neighbor)
top = max(0,index[1]+num_neighbor+1)

sample = A[left:right,bottom:top]

    print(sample)

donne

[[15 16 17]
 [21 22 23]
 [27 28 29]]

Références