Skip to content

Comment utiliser Pandas Set Index

Updated on

L'analyse de données en Python a été révolutionnée par la bibliothèque Pandas, avec le DataFrame comme structure de données centrale. Une fonctionnalité clé des DataFrames est la capacité à manipuler leur structure d'index. Cet article vise à fournir un guide complet sur l'utilisation de la fonction set_index() de Pandas.

Vous voulez créer rapidement des visualisations de données en Python ?

PyGWalker est un projet Open Source Python qui peut aider à accélérer le flux de travail d'analyse de données et de visualisation directement dans un environnement basé sur Jupyter Notebook.

PyGWalker (opens in a new tab) transforme votre DataFrame Pandas (ou votre DataFrame Polars) en une interface utilisateur visuelle où vous pouvez glisser-déposer des variables pour créer facilement des graphiques. Utilisez simplement le code suivant :

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Vous pouvez exécuter PyGWalker dès maintenant avec ces notebooks en ligne :

Et n'oubliez pas de nous donner une ⭐️ sur GitHub !

Exécuter PyGWalker dans un notebook Kaggle (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Donner une ⭐️ à PyGWalker sur GitHub (opens in a new tab)
Exécuter PyGWalker dans un notebook Kaggle (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)

Comprendre l'index dans le DataFrame Pandas

Un index dans un DataFrame sert de label aux lignes. Par défaut, Pandas attribue des valeurs entières en commençant par 0 en tant que labels de lignes. Cependant, il existe des scénarios où ces index par défaut ne sont pas suffisants, et vous pourriez avoir besoin de définir une colonne spécifique ou une combinaison de colonnes comme index de votre DataFrame.

Définir un index en utilisant set_index()

La fonction set_index() nous permet de définir une colonne comme index d'un DataFrame. La syntaxe de base est la suivante :

DataFrame.set_index('Nom_De_Colonnes')

Ici, 'Nom_De_Colonnes' est la colonne que vous souhaitez définir comme index.

Paramètres clés de la fonction set_index()

La fonction set_index() possède plusieurs paramètres pour offrir de la flexibilité aux utilisateurs. Plongeons plus en profondeur pour comprendre chacun d'entre eux.

  • keys : Cela peut être soit le nom de la colonne, soit une série Pandas, un index ou un tableau NumPy. Ce sera le nouvel index de votre DataFrame.
  • drop (Défaut : True) : Si défini sur True, la colonne que vous définissez comme nouvel index sera supprimée du DataFrame.
  • append (Défaut : False) : Si défini sur True, la colonne que vous définissez comme index sera ajoutée à l'index existant, créant ainsi un index multiple.
  • inplace (Défaut : False) : Si défini sur True, les modifications se produisent directement dans le DataFrame et la fonction ne renvoie rien. Si défini sur False, un nouveau DataFrame avec les modifications sera renvoyé.
  • verify_integrity (Défaut : False) : Vérifie les index en doublon. Cela est utile lorsque vous voulez vous assurer que les nouvelles valeurs d'index sont uniques.

Exemple pratique de l'utilisation de set_index()

Maintenant, comprenons ces paramètres avec quelques exemples pratiques. Supposons que nous ayons un DataFrame df comme ci-dessous :

import pandas as pd
 
data = {
    'Nom': ['John', 'Anna', 'Peter', 'Linda'],
    'Âge': [28, 24, 32, 45],
    'Ville': ['New York', 'Londres', 'Berlin', 'Sydney']
}
 
df = pd.DataFrame(data)

Définissons 'Nom' comme notre index :

df.set_index('Nom', inplace=True)

Cela définira la colonne 'Nom' comme index du DataFrame et la supprimera du DataFrame car le paramètre drop est par défaut sur True.

Si nous voulons définir la colonne 'Nom' comme index mais aussi la conserver dans le DataFrame, nous pouvons faire :

df.reset_index(inplace=True)
df.set_index('Nom', drop=False, inplace=True)

Pour créer un DataFrame multi-index en ajoutant 'Ville' à l'index 'Nom' existant, utilisez :

df.set_index(['Nom', 'Ville'], inplace=True)

Remarque : Avant de définir un nouvel index, vous devrez peut-être réinitialiser l'index en utilisant df.reset_index(inplace=True) si vous en avez déjà défini un précédemment.

Conclusion

Dans cet article, nous avons appris comment utiliser Pandas set_index() pour manipuler la structure d'index du DataFrame en fonction de nos besoins. En comprenant ses principaux paramètres, nous pouvons effectuer efficacement des opérations basées sur l'index et améliorer nos capacités d'analyse de données. Que vous soyez débutant ou expert en Pandas, savoir comment utiliser set_index() de manière appropriée est crucial. Il est maintenant temps d'utiliser ce que vous avez appris dans vos projets !