Fonction Pandas Series.median()

Pandas 常用函数Fonctions courantes de Pandas


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

import pandas as pd

# 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

import pandas as pd

# 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 pandas as pd
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

import pandas as pd

# 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 sontmean()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.

Pandas 常用函数Fonctions courantes de Pandas

Autres extensions