Python >> Tutoriel Python >  >> Python Tag >> NumPy

Comment calculer la moyenne d'un tableau NumPy 2D ?

NumPy est une bibliothèque Python populaire pour la science des données axée sur les tableaux, les vecteurs et les matrices. Cet article présente le np.average() fonction de la bibliothèque NumPy.

Lorsqu'elle est appliquée à un tableau 1D, cette fonction renvoie la moyenne des valeurs du tableau. Lorsqu'il est appliqué à un tableau 2D, NumPy aplatit simplement le tableau. Le résultat est la moyenne du tableau 1D aplati. Uniquement si vous utilisez le axis facultatif argument, vous pouvez faire la moyenne le long des lignes ou des colonnes du tableau 2D.

Voici d'abord un aperçu visuel, nous discuterons des détails plus tard :

Commençons d'abord par le cas simple et plat.

Moyenne d'un tableau 2D aplati

Pour calculer la moyenne de toutes les valeurs dans un tableau NumPy à deux dimensions appelé matrix , utilisez le np.average(matrix) fonction.

>>> import numpy as np
>>> matrix = np.array([[1, 0, 2],
                       [1, 1, 1]])
>>> np.average(matrix)
1.0

Cela calcule la moyenne de la matrice aplatie, c'est-à-dire que c'est la même chose que d'appeler np.average([1, 0, 2, 1, 1, 1]) sans la structuration bidimensionnelle des données.

Moyenne de colonne d'un tableau 2D

Pour calculer la moyenne séparément pour chaque colonne du tableau 2D, utilisez l'appel de fonction np.average(matrix, axis=0) définir l'argument de l'axe sur 0.

>>> np.average(matrix, axis=0)
array([1. , 0.5, 1.5])

Le tableau résultant a trois valeurs moyennes, une par colonne de l'entrée matrix .

Moyenne des lignes du tableau 2D

Pour calculer la moyenne séparément pour chaque ligne du tableau 2D, appelez np.average(matrix, axis=1) en définissant l'argument de l'axe sur 1.

>>> np.average(matrix, axis=1)
array([1., 1.])

Le tableau résultant a deux valeurs moyennes, une par ligne de l'entrée matrix .

Moyenne du puzzle NumPy

Pour tester vos compétences et entraîner votre compréhension de la fonction np.average(), voici un casse-tête de code qui pourrait vous plaire :

import numpy as np

# stock prices (3x per day)
# [morning, midday, evening]
solar_x = np.array(
    [[2, 3, 4], # day 1
     [2, 2, 5]]) # day 2

print(np.average(solar_x))

Quel est le résultat de ce puzzle ?
*Niveau Débutant* (solution ci-dessous)

Vous pouvez résoudre ce puzzle de code de manière interactive sur notre application de puzzle Finxter.com ici :

Dans le puzzle, nous avons une matrice à deux lignes et trois colonnes. La matrice donne les cours boursiers du solar_x Stock. Chaque ligne représente les prix pour une journée. La première colonne précise le prix du matin, la deuxième le prix du midi et la troisième le prix du soir.

Notez que NumPy calcule la moyenne comme la somme de toutes les valeurs, divisée par le nombre de valeurs. Le résultat est une valeur flottante.


Êtes-vous un codeur maître?
Testez vos compétences maintenant !

Vidéo associée

Voulez-vous devenir un maître NumPy ? Découvrez notre livre de puzzle interactif Coffee Break NumPy et boostez vos compétences en data science ! (Le lien Amazon s'ouvre dans un nouvel onglet.)