Fonction Pandas Series.median()
Series.median()Est une fonction de Pandas utilisée pour calculer la médiane (valeur centrale) d'une Series. La médiane est la valeur située au milieu après tri des données. Elle n'est pas affectée par les valeurs extrêmes et constitue un indicateur robuste de la tendance centrale des données.
Lorsqu'il y a des valeurs aberrantes ou des distributions asymétriques dans les données, la médiane peut refléter plus précisément la position centrale des données que la moyenne. Elle est souvent utilisée dans des scénarios tels que l'analyse des données de revenus, les statistiques des prix immobiliers et l'analyse des notes.
Syntaxe de base et paramètres
median()Est une fonction membre de l'objet Series, appelée directement via l'opérateur point.
Format de syntaxe
Series.median(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écifiez 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écifiez 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 - DescriptionRenvoie la médiane de tous les éléments de la Series. Si le nombre d'éléments est pair, renvoie la moyenne des deux éléments centraux.
Exemples
Maîtrisons parfaitement ... à travers une série d'exemples, du simple au complexe.Series.median()l'utilisation.
Exemple 1 : Utilisation de base - Médiane d'un nombre impair d'éléments
Pour des données avec un nombre impair d'éléments, la médiane est la valeur située au milieu après tri.
Exemple
# Créer une Series contenant les revenus des employés
# Simuler le revenu mensuel de 7 employés dans un service (unité : milliers de yuans)
income = pd.Series([5, 6, 7, 8, 9, 10, 50])
# Calculer la médiane
median_income = income.median()
print("Revenu mensuel des employés (milliers de yuans) :")
print(income)
print()
print(f"Revenu moyen : {income.mean():.2f} milliers de yuans")
print(f"Revenu médian : {median_income} milliers de yuans")
print()
print("Remarque : la moyenne est fortement affectée par la valeur extrême (50 mille yuans), tandis que la médiane reflète mieux le niveau réel.")
Sortie :
员工月收入(千元): 0 5 1 6 2 7 3 8 4 9 5 10 6 50 dtype: int64 平均收入:13.57 千元 中位数收入:8.0 千元
Analyse du code :
- Après le tri des données : [5, 6, 7, 8, 9, 10, 50]
- La position centrale est le 4e élément (indice 3), avec une valeur de 8.
- Parce qu'il y a une valeur extrême (50), la moyenne (13.57) est tirée vers le haut, tandis que la médiane (8) reflète mieux le niveau de revenu de la plupart des personnes.
Exemple 2 : Médiane d'un nombre pair d'éléments
Pour des données avec un nombre pair d'éléments, la médiane est la moyenne des deux éléments centraux.
Exemple
# Créer une Series avec 6 éléments
# Simuler les notes d'examen de 6 étudiants
scores = pd.Series([75, 82, 88, 92, 95, 100])
# Calculer la médiane
median_score = scores.median()
print("Notes d'examen des étudiants :")
print(scores)
print()
print(f"Note moyenne : {scores.mean():.2f}")
print(f"Note médiane : {median_score}")
Sortie :
学生考试成绩: 0 75 1 82 2 88 3 92 4 95 5 100 dtype: int64 平均成绩:88.67 中位数成绩:90.0
Analyse du code :
- Après le tri des données : [75, 82, 88, 92, 95, 100]
- Les deux éléments du milieu sont 88 et 92 (indices 2 et 3).
- Médiane = (88 + 92) / 2 = 90.
Exemple 3 : Traitement des données contenant des valeurs manquantes
skipnaLe paramètre détermine comment les valeurs manquantes sont traitées.
Exemple
import numpy as np
# Créer une Series avec des valeurs manquantes
data_with_nan = pd.Series([10, 20, np.nan, 30, 40, np.nan, 50])
print("Données avec des valeurs manquantes :")
print(data_with_nan)
print()
# Par défaut skipna=True, ignorer NaN lors du calcul de la médiane
median_skipna = data_with_nan.median()
print(f"Médiane lorsque skipna=True (par défaut) : {median_skipna}")
# Définir skipna=False
median_no_skipna = data_with_nan.median(skipna=False)
print(f"Médiane lorsque skipna=False : {median_no_skipna}")
Sortie :
包含缺失值的数据: 0 10.0 1 20.0 2 NaN 3 30.0 4 40.0 5 NaN 6 50.0 dtype: float64 skipna=True(默认)时的中位数:30.0 skipna=False 时的中位数:nan
Analyse du code :
- Données valides : [10, 20, 30, 40, 50], 5 éléments au total.
- Après tri, prenez la valeur centrale : 30.
skipna=FalseLorsque ..., tant qu'il y a un NaN, cela renvoie NaN.
Exemple 4 : Scénarios d'application comparant moyenne et médiane
Démontre l'avantage de la médiane face à des données asymétriques.
Exemple
# Simuler les données de revenu mensuel de 10 ménages dans une communauté résidentielle
# La plupart des personnes ont des revenus compris entre 3000-5000 yuan, mais il y a quelques individus à haut revenu
income_data = pd.Series([3000, 3500, 3800, 4000, 4200, 4500, 4800, 5000, 8000, 50000])
print("Données sur le revenu mensuel des résidents de la communauté (yuan) :")
print(income_data)
print()
mean_income = income_data.mean()
median_income = income_data.median()
print(f"Moyenne : {mean_income:.2f} yuan")
print(f"Médiane : {median_income} yuan")
print()
print("Analyse :")
print("La moyenne (10380 yuan) est fortement tirée vers le haut par la valeur extrême (50000 yuan).")
print("La médiane (4350 yuan) reflète mieux le vrai niveau de revenu de la plupart des ménages.")
print("C'est pourquoi les services statistiques utilisent plus couramment la médiane lors de la publication des données de revenu.")
Sortie :
小区住户月收入数据(元): 0 3000 1 3500 2 3800 3 4000 4 4200 5 4500 6 4800 7 5000 8 8000 9 50000 dtype: int64 平均值:10380.00 元 中位数:4350.0 元
Notes
- La médiane est insensible aux valeurs extrêmes et est plus robuste que la moyenne.
- Lorsque le nombre de points de données est pair, la médiane est la moyenne des deux nombres du milieu.
- Lorsque les données ont une distribution fortement asymétrique, la médiane reflète mieux la position centrale des données que la moyenne.
skipnaLe comportement du paramètre estmean()le même.
Résumé
Series.median()C'est une fonction importante pour décrire la tendance centrale des données. Ses principales caractéristiques incluent :
- Non affecté par les valeurs extrêmes, le résultat du calcul est robuste.
- Pour un nombre pair d'éléments, renvoie la moyenne des deux éléments du milieu.
- Particulièrement utile dans l'analyse de données avec des distributions asymétriques telles que les revenus et les prix des logements.
- La syntaxe et les paramètres sont
mean()exactement les mêmes, faciles à apprendre et à utiliser.
Dans l'analyse pratique des données, il est recommandé de calculer à la fois la moyenne et la médiane afin de mieux comprendre les caractéristiques de distribution des données. Lorsque la différence entre les deux est importante, cela indique que les données peuvent présenter une distribution asymétrique ou des valeurs aberrantes.
Autres extensions
Fonctions courantes de Pandas