Comment itérer sur une colonne dans un tableau numpy (i.e. une matrice 2D) en python ?


Exemple de comment itérer sur les elements d'une colonne dans un tableau numpy (i.e. une matrice 2D) en python:

Créer un tableau avec numpy

Créons d'abord un tableau numpy avec des nombres aléatoires:

import numpy as np

data = np.random.randint(10, size=(10,8))

print(data)

donne par exemple

[[9 6 7 8 6 4 4 9]
 [1 1 4 0 4 6 0 1]
 [6 9 2 2 8 6 8 0]
 [9 8 9 1 4 2 2 3]
 [3 3 4 8 9 9 5 4]
 [5 4 2 8 7 3 4 7]
 [0 1 0 0 0 3 0 2]
 [7 2 6 5 4 4 5 2]
 [5 2 6 5 6 2 2 2]
 [3 1 0 5 9 2 2 2]]

Tracer un tableau

Astuce: Si vous souhaitez visualiser rapidement un tableau pas trop grand, une solution consiste à utiliser seaborn avec heatmap, exemple:

import seaborn as sns; sns.set()
import matplotlib.pyplot as plt

ax = sns.heatmap(data, annot=True, fmt="d")

plt.savefig("iterate_over_a_numpy_array_column.png", bbox_inches='tight', dpi=100)

plt.show()

donne

Comment itérer sur une colonne dans un tableau numpy (i.e. une matrice 2D) en python ?

Sélectionnez une colonne donnée

Note: en python les indices des colonnes commencent à 0 ("Zero-based numbering).

Pour sélectionner une colonne entière, par exemple la colonne associée à l'index 4:

data[:,4]

donne ici

array([6, 4, 8, 4, 9, 7, 0, 4, 6, 9])

Itérer sur une colonne donnée

Maintenant, pour parcourir une colonne:

for e in data[:,4]:
    print(e)

donne

6
4
8
4
9
7
0
4
6
9

Références

Image

of