3.4. Quelques opérations courantes¶
Il existe beaucoup de fonction numpy permettant de faire simplement des opérations sur les tableaux :
Voici quelques exemples. Parfois les fonctions numpy existent sous forme d’une méthode (objet.method
).
a = np.random.normal(size=10000)
print(np.max(a))
print(a.max()) # Sous forme d'une méthode
np.sum(a)
np.mean(a)
np.var(a)
np.std(a)
np.min(a)
np.max(a)
4.0351219469370365
4.0351219469370365
4.0351219469370365
Lorsque l’on a un tableau 2D (ou plus), il est possible d’éxecuter l’opération ligne par ligne (ou colonne par colonne).
n_eleves = 10
n_exams = 4
# Tableau 2D avec les notes
# Les notes sont aléatoires !
notes = np.random.rand(n_eleves, n_exams)*20
# On fait la moyenne sur les élèves (axis=0)
moyenne_exams = np.mean(notes, axis=0)
print('Moyenne de chaque examen')
print(moyenne_exams)
moyenne_eleves = np.mean(notes, axis=1)
print('Moyenne de chaque élève')
print(moyenne_eleves)
Moyenne de chaque examen
[ 9.81395276 11.1400401 10.49420259 9.04915144]
Moyenne de chaque élève
[ 7.79374555 11.47850198 11.67461786 7.40069001 8.65054475 9.93937896
13.09532836 9.81052539 10.24845065 11.15158371]
Opération de tri :
a = np.random.rand(10)
b = np.sort(a)
print(b)
[0.01156812 0.08512015 0.2807883 0.3859941 0.41174778 0.45989627
0.55805187 0.66253723 0.7195286 0.72064735]
Il est parfois utile de connaître l’indice du maximum ou minimum ou de connaître l’ordre du tri. Cela s’obtient avec les fonctions argmax
, argmin
ou argsort
.
i_max = moyenne_eleves.argmax()
print(f'Le meilleur élève est le numéro {i_max}')
Le meilleur élève est le numéro 6
Autres fonctions utiles:
N = 1000
a = np.random.normal(size=N)
# Différence entre deux éléments
np.diff(a)
# Marche aléatoire
b = np.cumsum(a)