Fonction Pandas Series.mean()
Series.mean()est une fonction dans Pandas utilisée pour calculer la moyenne de tous les éléments d'une Series. La moyenne est l'un des indicateurs statistiques les plus couramment utilisés, représentant la tendance centrale d'un ensemble de données.
Que vous calculiez un salaire moyen, des ventes moyennes ou des moyennes de notes,mean()il peut vous aider à accomplir la tâche rapidement. C'est un indicateur clé pour décrire la tendance centrale d'un ensemble de données.
Syntaxe de base et paramètres
mean()est une fonction membre de l'objet Series, appelée directement via l'opérateur point.
Format de syntaxe
Series.mean(axis=None, skipna=True, level=None, numeric_only=None, **kwargs)
Description du paramètre
| Paramètre | Type | Description | Valeur par défaut |
|---|---|---|---|
| axis | int | Spécifie l'axe. Une Series n'a qu'une seule ligne de données, donc ce paramètre sert principalement à la compatibilité avec DataFrame. | Aucune |
| skipna | bool | Si True, les valeurs NaN sont ignorées lors du calcul ; si False, le résultat renvoie NaN en présence de NaN. | True |
| level | int ou str | Si la Series possède un MultiIndex, spécifie le niveau à calculer. | Aucune |
| numeric_only | bool | Si True, seules les données numériques sont calculées ; sinon, il tente de convertir en numérique. | False |
Valeur de retour
- Type de retour:
float(Même si l'entrée est un entier, la valeur de retour est convertie en float) - Description: Renvoie la moyenne de tous les éléments valides de la Series. Si tous les éléments sont NaN, renvoie NaN.
Exemples
Maîtrisons à fond à travers une série d'exemples, du simple au complexe,Series.mean()l'utilisation de.
Exemple 1 : Utilisation de base - Calculer la moyenne des notes des étudiants
L'utilisation la plus élémentaire consiste à créer une Series numérique, puis à appelermean()pour calculer la moyenne.
Exemple
# Créer une Series contenant les notes des étudiants
# Simuler les notes d'examen de 8 étudiants d'une classe
scores = pd.Series([85, 92, 78, 90, 88, 76, 95, 82])
# Calculer la note moyenne
average_score = scores.mean()
print("Notes d'examen des étudiants :")
print(scores)
print()
print(f"Note moyenne : {average_score:.2f} points")
Sortie :
学生考试成绩: 0 85 1 92 2 78 3 90 4 88 5 76 6 95 7 82 dtype: int64 平均成绩:85.75 分
Explication du code :
- Création d'une Series contenant les notes de 8 étudiants.
mean()Calcule la somme de toutes les notes (685) divisée par le nombre d'étudiants (8), donnant la moyenne 85.75.- Remarque : La valeur renvoyée est un float, même si l'entrée est un entier.
Exemple 2 : Gestion des données avec des valeurs manquantes
Les données réelles contiennent souvent des valeurs manquantes,skipnale paramètre détermine comment gérer ces valeurs manquantes.
Exemple
import numpy as np
# Créer une Series contenant des valeurs manquantes
# Simuler un étudiant absent à certains examens pour cause de maladie
scores_with_nan = pd.Series([85, 92, np.nan, 90, 88, np.nan, 95, 82])
print("Données incluant les notes d'examens manquants :")
print(scores_with_nan)
print()
# Par défaut skipna=True, ignorer NaN lors du calcul de la moyenne
average_skipna = scores_with_nan.mean()
print(f"Note moyenne avec skipna=True (par défaut) : {average_skipna:.2f}")
# Définir skipna=False, renvoyer NaN en cas de NaN
average_no_skipna = scores_with_nan.mean(skipna=False)
print(f"Note moyenne avec skipna=False : {average_no_skipna}")
Sortie :
包含缺考成绩的数据: 0 85.0 1 92.0 2 NaN 3 90.0 4 88.0 5 NaN 6 95.0 7 82.0 dtype: float64 skipna=True(默认)时的平均成绩:88.67 skipna=False 时的平均成绩:nan
Explication du code :
- Quand
skipna=TrueLorsque (valeur par défaut), seule la moyenne des valeurs valides est calculée. - Processus de calcul : (85 + 92 + 90 + 88 + 95 + 82) / 6 = 532 / 6 = 88.67
- Quand
skipna=FalseLorsque , tant qu'un NaN existe, le résultat renvoie NaN.
Exemple 3 : Utilisation d'une Series avec MultiIndex
Pour une Series avec un index hiérarchique (MultiIndex), vous pouvez spécifier le niveau dont calculer la moyenne.
Exemple
# Créer une Series avec un MultiIndex
# Simuler les notes d'étudiants de deux classes
multi_index_scores = pd.Series(
[85, 92, 78, 90, 88, 76, 95, 82],
index=pd.MultiIndex.from_tuples([
('Classe A', 'Étudiant 1'), ('Classe A', 'Étudiant 2'), ('Classe A', 'Étudiant 3'), ('Classe A', 'Étudiant 4'),
('Classe B', 'Étudiant 1'), ('Classe B', 'Étudiant 2'), ('Classe B', 'Étudiant 3'), ('Classe B', 'Étudiant 4')
],
names=['Classe', 'Étudiant']
)
)
print("Notes des étudiants de deux classes :")
print(multi_index_scores)
print()
# Calculer la moyenne des notes de tous les étudiants
overall_mean = multi_index_scores.mean()
print(f"Moyenne des notes de tous les étudiants : {overall_mean:.2f}")
print()
# Calculer la moyenne des notes par classe (en utilisant le paramètre level)
class_a_mean = multi_index_scores.xs('Class A', level='Class').mean()
class_b_mean = multi_index_scores.xs('Class B', level='Class').mean()
print(f"Moyenne des notes des étudiants de la classe A : {class_a_mean:.2f}")
print(f"Moyenne des notes des étudiants de la classe B : {class_b_mean:.2f}")
Sortie :
两个班级的学生成绩:
班级 学生
A班 学生1 85
学生2 92
学生3 78
学生4 90
B班 学生1 88
学生2 76
学生3 95
学生4 82
dtype: int64
所有学生平均成绩:85.75
A班学生平均成绩:86.25
B班学生平均成绩:85.25
Explication du code :
- Création d'une Series avec deux niveaux d'index, nommés "Class" et "Student" respectivement.
- Appeler directement
mean()calculera la moyenne de tous les éléments. - En utilisant la
xs()méthode, vous pouvez filtrer les données selon un certain niveau, puis calculer la moyenne.
Exemple 4 : Application à l'analyse de données réelles
Combinée à des scénarios métier réels, démontrantmean()des applications typiques de.
Exemple
import numpy as np
# Créer des données simulées de cours de clôture quotidiens pour les actions
stock_prices = pd.Series([
100.5, 102.3, 98.7, 101.2, 103.5,
105.2, 103.8, 107.1, 108.3, 106.9
], index=['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi',
'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi'])
# Créer des données pour deux semaines
week1 = stock_prices[:5]
week2 = stock_prices[5:]
print("Cours des actions de la semaine 1:")
print(week1)
print(f"Cours moyen de la semaine 1: {week1.mean():.2f}")
print()
print("Cours des actions de la semaine 2:")
print(week2)
print(f"Prix moyen de la semaine 2 : {week2.mean():.2f}")
print()
# Calculer la différence de prix moyens entre les deux semaines
price_diff = week2.mean() - week1.mean()
print(f"Différence de prix moyen entre les deux semaines : {price_diff:.2f}")
Sortie :
第一周股票价格: 周一 100.5 周二 102.3 周三 98.7 周四 101.2 周五 103.5 dtype: float64 第一周平均价格:101.24 第二周股票价格: 周一 105.2 周二 103.8 周三 107.1 周四 108.3 周五 106.9 dtype: float64 第二周平均价格:106.26 两周平均价格差异:5.02
Notes
mean()La valeur de retour est toujours un float, même si toutes les données d'entrée sont des entiers.- La moyenne est sensible aux valeurs extrêmes (valeurs aberrantes) ; les valeurs extrêmes peuvent affecter considérablement le résultat du calcul.
- S'il y a de nombreuses valeurs manquantes dans les données, en utilisant
skipna=Truevous devez savoir que la moyenne est calculée sur la base d'une partie seulement des données. - Pour les Series contenant des données non numériques, vous devez d'abord nettoyer les données ou utiliser la
numeric_only=Trueparamètre.
Résumé
Series.mean()est l'une des fonctions statistiques les plus couramment utilisées dans Pandas. Ses principales caractéristiques incluent :
- Simple et facile à utiliser, appelée directement via l'opérateur point.
- Prend en charge le traitement des valeurs manquantes via le
skipnaparamètre. - Prend en charge MultiIndex, peut calculer en sélectionnant un niveau.
- La valeur de retour est toujours un float, ce qui garantit la précision.
La moyenne est un indicateur important pour décrire la tendance centrale d'un ensemble de données, mais lorsque des valeurs extrêmes existent dans les données, vous devrez peut-être envisager d'utiliser la médiane (median()) afin de mieux refléter la position centrale des données.
Fonctions courantes de Pandas