Cheat Sheet Pandas : Les fonctions essentielles pour l’entreprise

by Dr Chérif Abdou Magid
4 minutes read

Voici un aperçu des principales fonctions et méthodes de Pandas que Julie (et vous!) devriez connaître pour votre entreprise.

1. Importation et lecture des données

import pandas as pd
import numpy as np

# Lecture de fichiers
df = pd.read_csv('fichier.csv')
df = pd.read_excel('fichier.xlsx', sheet_name='Feuille1')
df = pd.read_sql('SELECT * FROM table', connection)
df = pd.read_json('fichier.json')

2. Exploration des données

# Aperçu des données

df.head()            # Afficher les 5 premières lignes
df.tail()            # Afficher les 5 dernières lignes
df.shape             # Dimensions (lignes, colonnes)
df.info()            # Information sur le DataFrame
df.describe()        # Statistiques descriptives
df.dtypes            # Types de données
df.columns           # Noms des colonnes
df.index             # Index
df.isnull().sum()    # Nombre de valeurs manquantes par colonne

3. Sélection et filtrage des données

# Sélectionner des colonnes

df['colonne']                      # Une colonne
df[['colonne1', 'colonne2']]       # Plusieurs colonnes

# Sélectionner des lignes

df.loc[10]                         # Ligne avec l'index 10
df.iloc[10]                        # 11ème ligne (index position)
df.loc[10:20]                      # Lignes de l'index 10 à 20
df.iloc[10:20]                     # Lignes 11 à 20 (positions)

# Filtrage

df[df['colonne'] > 100]                            # Valeurs > 100
df[(df['colonne1'] > 10) & (df['colonne2'] < 50)]  # Conditions multiples
df[df['colonne'].isin(['A', 'B', 'C'])]            # Valeurs dans une liste
df[df['colonne'].str.contains('texte')]            # Contient du texte

4. Manipulation des données

# Tri

df.sort_values('colonne')                      # Tri croissant
df.sort_values('colonne', ascending=False)     # Tri décroissant
df.sort_values(['col1', 'col2'])               # Tri sur plusieurs colonnes

# Création de nouvelles colonnes

df['nouvelle_colonne'] = df['colonne1'] + df['colonne2']
df['catégorie'] = pd.cut(df['valeur'], bins=[0, 18, 35, 65, 100], 
                        labels=['Enfant', 'Jeune', 'Adulte', 'Senior'])

# Appliquer des fonctions

df['colonne'].apply(lambda x: x*2)
df.apply(lambda x: x.max() - x.min())

5. Gestion des valeurs manquantes

# Détecter les valeurs manquantes

df.isnull()                      # True pour les valeurs manquantes
df.notnull()                     # True pour les valeurs non-manquantes

# Traiter les valeurs manquantes

df.fillna(0)                     # Remplacer par zéro
df['colonne'].fillna(df['colonne'].mean())  # Remplacer par la moyenne
df.dropna()                      # Supprimer les lignes avec valeurs manquantes
df.dropna(axis=1)                # Supprimer les colonnes avec valeurs manquantes

6. Agrégation et groupement

# Grouper et agréger

df.groupby('colonne').mean()                    # Moyenne par groupe
df.groupby(['col1', 'col2']).sum()              # Somme par groupe multi-niveaux
df.groupby('colonne').agg(['min', 'max', 'mean'])  # Plusieurs agrégations

# Opérations avancées

df.groupby('département').agg({
    'ventes': 'sum',
    'clients': 'count',
    'satisfaction': 'mean'
})

7. Jointure de données

# Différents types de jointures

pd.merge(df1, df2, on='id')                      # Inner join sur 'id'
pd.merge(df1, df2, on='id', how='left')          # Left join
pd.merge(df1, df2, on='id', how='right')         # Right join
pd.merge(df1, df2, on='id', how='outer')         # Full outer join

# Jointure sur différentes colonnes

pd.merge(df1, df2, left_on='id_a', right_on='id_b')

8. Pivotage et restructuration

# Tableau croisé

pd.pivot_table(df, values='ventes', index='région', 
              columns='trimestre', aggfunc='sum', fill_value=0)

# Restructurer les données

df_long = pd.melt(df, id_vars=['région', 'date'], 
                 value_vars=['ventes', 'coûts', 'profits'],
                 var_name='métrique', value_name='valeur')

9. Séries temporelles

# Conversion en datetime

df['date'] = pd.to_datetime(df['date'])

# Extraction d’éléments de date

df['année'] = df['date'].dt.year
df['mois'] = df['date'].dt.month
df['jour_semaine'] = df['date'].dt.day_name()

# Rééchantillonnage

df_mensuel = df.set_index('date').resample('M').sum()
df_hebdo = df.set_index('date').resample('W').mean()

10. Export des données

# Exporter vers différents formats

df.to_csv('fichier.csv', index=False)
df.to_excel('fichier.xlsx', sheet_name='Résultats')
df.to_sql('table', connection, if_exists='replace')
df.to_json('fichier.json')

11. Analyses statistiques et visualisation

# Statistiques

df['colonne'].value_counts()           # Comptage des valeurs
df.corr()                              # Matrice de corrélation
df.cov()                               # Matrice de covariance

# Visualisation (avec matplotlib/seaborn)

import matplotlib.pyplot as plt
import seaborn as sns

df.plot(kind='bar')                    # Diagramme en barres
df.plot(kind='line')                   # Graphique linéaire
df.plot(kind='scatter', x='col1', y='col2')  # Nuage de points
sns.heatmap(df.corr(), annot=True)     # Carte de chaleur

12. Fonctions spécifiques pour l’entreprise

# Analyses financières

df['rendement'] = df['revenus'] / df['coûts']
df['marge'] = (df['prix'] - df['coût']) / df['prix'] * 100
df['croissance'] = df['ventes'].pct_change() * 100

# KPIs et tableaux de bord

performance = df.groupby('département').agg({
    'ventes': ['sum', 'mean'],
    'clients': 'count',
    'satisfaction': ['mean', 'min']
}).round(2)

# Prévisions (avec des méthodes simples)

df['moyenne_mobile'] = df['ventes'].rolling(window=3).mean()
df['tendance'] = df['ventes'].ewm(span=12).mean()

You may also like

Leave a Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.