Statistiques descriptives avec Pandas

Les statistiques descriptives servent à résumer et décrire les caractéristiques de base des données. Pandas fournit de riches fonctions statistiques pour obtenir rapidement la distribution globale des données.


Fonctions statistiques de base

Exemple

import pandas as pd
import numpy as np

# Créer des données d'exemple
df = pd.DataFrame({
    "Âge": [25, 30, 28, 35, 22, 40, 38, 45, 29, 31],
    "Salaire": [12000, 15000, 11000, 18000, 9000, 20000, 17000, 22000, 12500, 14000],
    "Performance": [85, 92, 78, 88, 65, 95, 82, 90, 75, 89]
})

print("=== Data Overview ===")
print(f"Forme des données : {df.shape}")
print(f"\nStatistiques de base :")
print(df.describe())

Mesures statistiques courantes

Fonction Description Exemple
count() Nombre de valeurs non nulles df["年龄"].count()
sum() Sum df["薪资"].sum()
mean() Moyenne df["年龄"].mean()
median() Médiane df["年龄"].median()
std() Écart-type df["绩效"].std()
var() Variance df["绩效"].var()
min() / max() Minimum/Maximum df["年龄"].min()
quantile() Quantile df["薪资"].quantile(0.25)

Calcul des quantiles

Exemple

import pandas as pd
import numpy as np

s = pd.Series(range(1, 101))  # 1 à 100

print("Divers quantiles :")
print(f"0% (min) : {s.quantile(0)}")
print(f"25% : {s.quantile(0.25)}")
print(f"50% (médiane): {s.quantile(0.50)}")
print(f"75%: {s.quantile(0.75)}")
print(f"100% (max): {s.quantile(1)}")
print()

# Calculer plusieurs quantiles en même temps
print("Quantiles par lot:")
print(s.quantile([0.1, 0.2, 0.5, 0.8, 0.9]))

describe Résumé

describe()Fournit un résumé statistique complet des colonnes numériques du jeu de données.

Exemple

import pandas as pd

df = pd.DataFrame({
    "Âge": [25, 30, 28, 35],
    "Salaire": [12000, 15000, 11000, 18000],
    "Ville": ["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]
})

print("Statistiques des colonnes numériques:")
print(df.describe())
print()

print("Inclure toutes les colonnes:")
print(df.describe(include="all"))

Coefficient de corrélation et covariance

Exemple

import pandas as pd
import numpy as np

df = pd.DataFrame({
    "Âge": [25, 30, 28, 35, 22],
    "Salaire": [12000, 15000, 11000, 18000, 9000],
    "Performance": [85, 92, 78, 88, 65]
})

print("Matrice des coefficients de corrélation :")
print(df.corr())
print()

# Corrélation avec une colonne spécifique
print("Corrélation avec le salaire :")
print(df.corr()["Salary"])

Le coefficient de corrélation varie de -1 à 1. Plus il est proche de 1, plus la corrélation positive est forte ; plus il est proche de -1, plus la corrélation négative est forte ; proche de 0 indique aucune corrélation.


Statistiques avancées

Exemple

import pandas as pd
import numpy as np

s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# Asymétrie (mesure l'asymétrie d'une distribution)
print(f"Asymétrie : {s.skew()}")

# Kurtosis (mesure le caractère pointu d'une distribution)
print(f"Kurtosis : {s.kurtosis()}")
print()

# Statistiques cumulatives
s = pd.Series([1, 2, 3, 4, 5])
print("Somme cumulée :")
print(s.cumsum())
print()

print("Maximum cumulé :")
print(s.cummax())
Autres extensions