Comment calculer une moyenne tronquée en Python (avec exemples)
Une moyenne tronquée est la moyenne d’un ensemble de données qui a été calculée après avoir supprimé un pourcentage spécifique des valeurs les plus petites et les plus grandes de l’ensemble de données.
Le moyen le plus simple de calculer une moyenne tronquée en Python consiste à utiliser la fonction trim_mean() de la bibliothèque SciPy.
Cette fonction utilise la syntaxe de base suivante :
from scipy import stats #calculate 10% trimmed mean stats.trim_mean(data, 0.1)
Les exemples suivants montrent comment utiliser cette fonction pour calculer une moyenne tronquée dans la pratique.
Exemple 1 : calculer la moyenne tronquée du tableau
Le code suivant montre comment calculer une moyenne tronquée de 10 % pour un tableau de données :
from scipy import stats #define data data = [22, 25, 29, 11, 14, 18, 13, 13, 17, 11, 8, 8, 7, 12, 15, 6, 8, 7, 9, 12] #calculate 10% trimmed mean stats.trim_mean(data, 0.1) 12.375
La moyenne tronquée à 10 % est de 12,375 .
Il s’agit de la moyenne de l’ensemble de données après que les 10 % les plus petits et les 10 % les plus grands des valeurs aient été supprimés de l’ensemble de données.
Exemple 2 : calculer la moyenne tronquée de la colonne dans Pandas
Le code suivant montre comment calculer une moyenne tronquée de 5 % pour une colonne spécifique dans un DataFrame pandas :
from scipy import stats import pandas as pd #define DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #calculate 5% trimmed mean of points stats.trim_mean(df.points, 0.05) 20.25
La moyenne tronquée de 5 % des valeurs de la colonne « points » est de 20,25 .
Il s’agit de la moyenne de la colonne « points » après suppression des 5 % des valeurs les plus petites et des 5 % les plus grandes.
Exemple 3 : calculer la moyenne tronquée de plusieurs colonnes
Le code suivant montre comment calculer une moyenne tronquée de 5 % pour plusieurs colonnes dans un DataFrame pandas :
from scipy import stats import pandas as pd #define DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #calculate 5% trimmed mean of 'points' and 'assists' columns stats.trim_mean(df[['points', 'assists']], 0.05) array([20.25, 7.75])
À partir du résultat, nous pouvons voir :
- La moyenne tronquée de 5 % de la colonne « points » est de 20,25 .
- La moyenne tronquée de 5 % de la colonne « passes décisives » est de 7,75 .
Remarque : Vous pouvez trouver la documentation complète de la fonction trim_mean() ici .
Ressources additionnelles
Comment calculer manuellement une moyenne tronquée
Calculateur de moyenne tronquée