Skip to content

Aide-mémoire Pandas

Guide détaillé sur l’utilisation de la bibliothèque Pandas.

Installation de Pandas

Commande Description
conda install pandas La meilleure façon d’obtenir pandas est via conda
python3 -m pip install --upgrade pandas Via PyPI
pip install pandas Installation pip standard

Abréviations clés et importations de paquets

Abréviation Description
df N’importe quel objet DataFrame Pandas
s N’importe quel objet Series Pandas

Méthodes d’importation

Commande Description
import pandas as pd Importer pandas avec l’alias pd
import numpy as np Importer numpy avec l’alias np

Sélection de données

Commande Description
df[col] Retourne une colonne sous forme de Series basée sur le nom de la colonne
df[[col1, col2]] Retourne plusieurs colonnes sous forme de DataFrame
s.iloc[0] Sélectionner les données par position
s.loc['index_one'] Sélectionner les données par index
df.iloc[0,:] Retourne la première ligne
df.iloc[0,0] Retourne le premier élément de la première colonne

Nettoyage des données

Commande Description
df.columns = ['a','b','c'] Renommer les colonnes
pd.isnull() Vérifier les valeurs nulles dans un DataFrame ; retourne un tableau booléen
pd.notnull() Vérifier les valeurs non nulles dans un DataFrame ; retourne un tableau booléen
df.dropna() Supprimer toutes les lignes contenant des valeurs nulles
df.dropna(axis=1) Supprimer toutes les colonnes contenant des valeurs nulles
df.dropna(axis=1, thresh=n) Supprimer toutes les lignes ayant moins de n valeurs non nulles
df.fillna(x) Remplacer toutes les valeurs nulles dans un DataFrame par x
s.astype(float) Convertir le type de données de la Series en float
s.replace(1, 'one') Remplacer toutes les valeurs égales à 1 par ‘one’
s.replace([1,3], ['one', 'three']) Remplacer 1 par ‘one’ et 3 par ’three’
df.rename(columns=lambda x: x + 1) Renommage en lot des colonnes
df.rename(columns={'old_name': 'new_name'}) Renommage sélectif des colonnes
df.set_index('column_one') Changer la colonne d’index
df.rename(index=lambda x: x + 1) Renommage en lot des index

Importation de données

Commande Description
pd.read_csv(filename) Importer des données d’un fichier CSV
pd.read_table(filename) Importer des données d’un fichier texte délimité
pd.read_excel(filename) Importer des données d’un fichier Excel
pd.read_sql(query, connection_object) Importer des données d’une table/base de données SQL
pd.read_json(json_string) Importer des données d’une chaîne JSON
pd.read_html(url) Extraire des tableaux d’une URL, d’une chaîne ou d’un fichier HTML
pd.read_clipboard() Récupérer le contenu du presse-papiers et le passer à read_table()
pd.DataFrame(dict) Importer des données d’un dictionnaire (les clés sont les noms de colonnes, les valeurs sont les données)

Exportation de données

Commande Description
df.to_csv(filename) Exporter les données vers un fichier CSV
df.to_excel(filename) Exporter les données vers un fichier Excel
df.to_sql(table_name, connection_object) Exporter les données vers une table SQL
df.to_json(filename) Exporter les données vers un fichier texte au format JSON

Traitement des données : Filtrer, Trier et GroupBy

Commande Description
df[df[col] > 0.5] Sélectionner les lignes où la valeur dans la colonne ‘col’ est > 0,5
df.sort_values(col1) Trier les données selon la colonne col1 (croissant par défaut)
df.sort_values(col2, ascending=False) Trier les données selon la colonne col2 par ordre décroissant
df.sort_values([col1, col2], ascending=[True, False]) Trier par col1 croissant, puis col2 décroissant
df.groupby(col) Retourne un objet GroupBy groupé par la colonne ‘col’
df.groupby([col1, col2]) Retourne un objet GroupBy groupé par plusieurs colonnes
df.groupby(col1)[col2].mean() Retourne la moyenne de la colonne col2 pour chaque groupe dans col1
df.pivot_table(index=col1, values=[col2, col3], aggfunc=max) Créer un tableau croisé dynamique groupé par col1, en calculant le max pour col2 et col3
df.groupby(col1).agg(np.mean) Retourne la moyenne pour toutes les colonnes groupées par col1
df.apply(np.mean) Appliquer la fonction np.mean sur chaque colonne
df.apply(np.max, axis=1) Appliquer la fonction np.max sur chaque ligne

Création d’objets de test

Commande Description
pd.DataFrame(np.random.rand(20,5)) Créer un DataFrame avec 20 lignes et 5 colonnes de nombres aléatoires
pd.Series(my_list) Créer une Series à partir d’un objet itérable my_list
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) Ajouter un index de date

Visualisation et inspection des données

Commande Description
df.head(n) Afficher les n premières lignes d’un DataFrame
df.tail(n) Afficher les n dernières lignes d’un DataFrame
df.shape Afficher le nombre de lignes et de colonnes
df.info() Afficher l’index, les types de données et les informations sur la mémoire
df.describe() Afficher les statistiques de résumé pour les colonnes numériques
s.value_counts(dropna=False) Afficher les valeurs uniques et les décomptes pour une Series
df.apply(pd.Series.value_counts) Afficher les valeurs uniques et les décomptes pour chaque colonne d’un DataFrame

Fusion de données

Commande Description
df1.append(df2) Ajouter les lignes de df2 à la fin de df1
pd.concat([df1, df2], axis=1) Ajouter les colonnes de df2 à la fin de df1
df1.join(df2, on=col1, how='inner') Jointure de style SQL entre les colonnes de df1 et df2

Statistiques des données

Commande Description
df.describe() Afficher les statistiques de résumé pour les colonnes numériques
df.mean() Retourne la moyenne de toutes les colonnes
df.corr() Retourne le coefficient de corrélation entre les colonnes
df.count() Retourne le nombre de valeurs non nulles dans chaque colonne
df.max() Retourne la valeur maximale de chaque colonne
df.min() Retourne la valeur minimale de chaque colonne
df.median() Retourne la médiane de chaque colonne
df.std() Retourne l’écart type de chaque colonne