Pandas Drop Index Column : expliqué avec des exemples

Pandas Drop Index Column : expliqué avec des exemples

Pandas est une bibliothèque Python largement utilisée pour la manipulation et l'analyse de données. Une fonctionnalité essentielle que les pandas peuvent vous fournir est la possibilité de modifier la structure d'un ensemble de données. Plus précisément, la suppression d'index dans un DataFrame est une opération cruciale lorsque vous travaillez avec des ensembles de données. Il vous permet de supprimer les lignes ou les colonnes indésirables des données.

Pour supprimer un index avec des pandas, vous pouvez utiliser les méthodes .drop() et .reset_index(). La méthode .drop() vous permet de supprimer des lignes ou des colonnes spécifiques. D'autre part, la méthode .reset_index() vous permet de supprimer l'index et de le réinitialiser au RangeIndex par défaut.

Pandas Drop Index Column : expliqué avec des exemples

Dans cet article, nous discuterons de l'utilisation de ces méthodes pour supprimer des index dans pandas DataFrames. Nous allons passer en revue divers exemples pour montrer comment manipuler efficacement la structure d'un ensemble de données pour répondre à différents besoins analytiques. Grâce à ces exemples, vous comprendrez mieux comment la bibliothèque pandas peut être utilisée pour la manipulation de données.

Allons-y !

Table des matières

Comprendre l'indice de baisse des pandas

Avant de plonger dans la suppression d'index avec des pandas, il est très important que vous compreniez ce qu'est un pandas DataFrame. De plus, vous devez également être familiarisé avec le concept d'index et de colonnes dans un pandas DataFrame.

Pandas Drop Index Column : expliqué avec des exemples

Dans cette section, nous aborderons les bases d'un DataFrame, d'un index et de colonnes pandas. Nous examinerons ensuite un exemple de suppression d'un index à l'aide de pandas.

1. Qu'est-ce qu'une Dataframe Pandas ?

Pandas est une bibliothèque Python open source qui fournit des outils de manipulation et d'analyse de données hautes performances. L'une de ses principales structures de données est le DataFrame .

Un pandas DataFrame est une structure de données bidimensionnelle avec des axes étiquetés (lignes et colonnes). Vous pouvez considérer un DataFrame comme une représentation d'objet Pythonic d'une table SQL ou d'une feuille de calcul Excel.

Voici un DataFrame pandas typique :

Pandas Drop Index Column : expliqué avec des exemples

2. Que sont les index et les colonnes ?

Dans un pandas DataFrame, l' index sert d'"adresse" pour les points de données. Il fournit un moyen d'accéder aux données et de les organiser dans le DataFrame. Il peut s'agir soit de la séquence d'entiers par défaut attribuée par pandas, soit d'un index personnalisé défini par l'utilisateur.

Les colonnes sont les variables qui hébergent différents types de données dans le DataFrame. Chaque colonne est essentiellement une série de données. Il peut contenir divers types de données tels que des entiers, des flottants ou des chaînes. L'étiquette de la colonne, communément appelée nom de colonne, identifie cette série de données.

Dans un pandas DataFrame, la manipulation des données implique souvent de travailler avec les étiquettes de ligne (indices) ou les étiquettes de colonne.

Certaines opérations courantes que vous pouvez effectuer avec un DataFrame multi-index incluent la sélection, le changement de nom et la suppression de lignes ou de colonnes en fonction de leurs étiquettes.

3. Comment supprimer une colonne d'index avec des pandas

Dans pandas, vous pouvez utiliser la méthode DataFrame reset_index() pour supprimer et réinitialiser l'index.

Supposons que nous ayons le DataFrame suivant :

Pandas Drop Index Column : expliqué avec des exemples

Pour supprimer la colonne d'index, nous pouvons utiliser le code suivant :

df.reset_index(drop=True)

Après avoir exécuté ce code, vous obtiendrez l'exemple ci-dessous :

Pandas Drop Index Column : expliqué avec des exemples

Dans la sortie, vous pouvez voir que l'index est supprimé et remplacé par les valeurs d'index d'origine.

Vous pouvez également utiliser la méthode drop dans pandas pour supprimer les étiquettes spécifiées des lignes ou des colonnes.

La syntaxe de cette méthode est :

DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

Voici les paramètres clés de la méthode drop :

  • labels : les libellés à supprimer. Il peut s'agir de lignes ou de colonnes en fonction du paramètre d'axe .

  • axe : détermine s'il faut supprimer des lignes ( 0 ou 'index' ) ou des colonnes ( 1 ou 'columns' ).

  • index : une alternative à la spécification de axis=0 . Permet d'indiquer les libellés de ligne à supprimer.

  • colonnes : une alternative à la spécification de axis=1 . Permet d'indiquer les libellés des colonnes à supprimer.

  • inplace : Si défini sur True , l'opération sera effectuée sur place, ce qui signifie que le DataFrame d'origine sera modifié. Si False (par défaut), un nouveau DataFrame avec les étiquettes spécifiées supprimées sera renvoyé.

  • errors : Contrôle comment gérer les étiquettes manquantes. Si 'raise' (par défaut), une erreur sera déclenchée lorsque les étiquettes ne sont pas trouvées. Si 'coerce' , les étiquettes manquantes seront silencieusement ignorées.

Supposons que nous ayons le DataFrame suivant :

Pandas Drop Index Column : expliqué avec des exemples

Nous aimerions supprimer la ligne avec l'index 1. Pour ce faire, en utilisant la méthode drop, vous pouvez écrire le code suivant, en commençant par import pandas :

import pandas as pd

# Drop row with index 1
df.drop(1, axis=0)

L' argument axe = 0 de la fonction drop indique à l'interpréteur que nous effectuons une opération par ligne. Le deuxième argument 1 est l'index de ligne. Il indique à l'interpréteur de supprimer la ligne avec l'index 1.

Après l'opération ci-dessus, nous obtenons le DataFrame suivant :

Pandas Drop Index Column : expliqué avec des exemples

Maintenant, disons que nous aimerions supprimer la colonne avec Age comme en-tête de colonne de notre DataFrame. Pour y parvenir, nous pouvons écrire le code suivant :

# Drop column 'Age'
df.drop('Age', axis=1)

L'argument axe = 1 indique à l'interpréteur que nous effectuons une opération par colonne. L'argument 'Age' indique à l'interpréteur de supprimer la colonne portant le nom 'Age'.

Après avoir exécuté le code ci-dessus, vous obtiendrez le DataFrame suivant :

Pandas Drop Index Column : expliqué avec des exemples

Comment supprimer plusieurs lignes et colonnes

L'exemple ci-dessus illustre la suppression d'une seule ligne ou colonne. Que faire si vous souhaitez supprimer plusieurs lignes ou colonnes ?

Pour y parvenir, nous utiliserons le même code avec quelques légères modifications. Au lieu d'utiliser une seule valeur, nous pouvons fournir une liste d'arguments à la fonction drop pour supprimer plusieurs lignes et colonnes à la fois.

Disons que je veux supprimer les 2 premières lignes de notre DataFrame. Pour y parvenir, nous pouvons utiliser le code suivant :

# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)

Dans ce code, nous disons à l'interpréteur de supprimer les lignes 0 et 1. La sortie de ce code est donnée ci-dessous :

Pandas Drop Index Column : expliqué avec des exemples

Vous pouvez voir que les lignes 0 et 1 ne sont plus dans le DataFrame.

Supprimons également les colonnes Département et Salaire. Pour ce faire, nous pouvons utiliser le code suivant :

# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)

In this Python script, we are asking the interpreter to drop the columns with Salary and Department as the column headers. The output of this code is given below:

Pandas Drop Index Column : expliqué avec des exemples

This is our final DataFrame. In total, we deleted two rows and two columns from our DataFrame using the drop method.

To learn more about MultiIndex in pandas, check out the following video:

How to Drop Rows and Columns with Inplace

In the previous example, you can see that we first make changes to the DataFrame and then save it as a new DataFrame. However, this is not an efficient way of dropping rows and columns.

Another alternative to dropping rows and columns is to set the inplace argument of the drop function to True.

En définissant le paramètre inplace sur True , vous pouvez modifier définitivement le DataFrame sans avoir à le réaffecter.

Ceci est utile lorsqu'il s'agit de grands DataFrames, car cela peut économiser de la mémoire en évitant la création d'un nouveau DataFrame.

Voici un exemple de suppression de lignes et de colonnes avec inplace :

# Dropping rows by index inplace
df.drop(labels=[0, 1], axis=0, inplace=True)

# Dropping columns by name inplace
df.drop(['Salary', 'Department'], axis=1, inplace=True)

La sortie du code ci-dessus est donnée ci-dessous :

Pandas Drop Index Column : expliqué avec des exemples

Ici, vous pouvez voir que nous ne créons pas de nouveau DataFrame mais apportons des modifications à celui d'origine.

Comment travailler avec des index dans Pandas

Dans cette section, nous verrons comment travailler avec des index dans un pandas DataFrame. Nous couvrirons les deux sous-sections suivantes :

  1. Définir et réinitialiser l'index

  2. ID et index Colonne

1. Comment définir et réinitialiser l'index

Un aspect important du travail avec les pandas est de comprendre comment définir et réinitialiser les colonnes d'index. Un index est un identifiant de clé pour chaque ligne, et il y a des cas où vous voudrez peut-être le changer.

Définition d'un nouvel index

Pour définir un nouvel index, vous pouvez utiliser la méthode set_index() . La syntaxe de set_index est donnée ci-dessous :

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

L'argument inplace=True ici signifie que nous apportons des modifications au DataFrame existant.

Pour le démontrer, nous utiliserons le DataFrame suivant :

Pandas Drop Index Column : expliqué avec des exemples

Disons que nous aimerions faire de la colonne Name l'index de notre DataFrame. Pour y parvenir, nous pouvons utiliser le code suivant :

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

Ce script Python fera de Name l'index de notre DataFrame. La sortie de ce code est donnée ci-dessous :

Pandas Drop Index Column : expliqué avec des exemples

Réinitialisation des valeurs d'index

Pour réinitialiser l'index à son format par défaut (c'est-à-dire un RangeIndex de 0 à la longueur du DataFrame moins 1), vous pouvez utiliser la méthode reset_index() .

La syntaxe de reset_index() est donnée ci-dessous :

df.reset_index(drop=True, inplace=True)

En définissant drop=True , la colonne d'index actuelle sera supprimée, tandis que inplace=True garantit que les modifications sont appliquées directement au DataFrame sans en créer un nouveau.

Lorsque nous appliquons ce code au DataFrame précédent, nous obtenons le résultat suivant :

Pandas Drop Index Column : expliqué avec des exemples

Vous pouvez voir que le nom, qui était auparavant notre index, est réinitialisé aux valeurs par défaut.

2. Autres opérations avec la colonne d'index

Lorsque vous importez un DataFrame à partir, par exemple, d'un fichier CSV, vous pouvez utiliser le paramètre index_col pour spécifier une colonne à utiliser comme index.

La syntaxe de index_col est donnée ci-dessous :

df = pd.read_csv('data.csv', index_col='column_name')

De plus, si vous souhaitez exporter un DataFrame sans la colonne d'index, vous pouvez définir le paramètre index sur False.

La syntaxe de cette méthode est donnée ci-dessous :

df.to_csv('output.csv', index=False)

Maintenant que vous comprenez la méthode de suppression d'index, regardons comment vous pouvez gérer les erreurs lors de l'utilisation de la fonction drop dans la section suivante.

Comment gérer les erreurs lors de l'utilisation de la fonction Drop dans Pandas

Dans cette section, nous verrons comment gérer les erreurs et les cas particuliers lors de l'utilisation de la fonction drop de pandas pour supprimer les colonnes d'index d'un DataFrame.

Plus précisément, nous aborderons les points suivants :

  1. Gestion de l'erreur de clé

  2. Travailler avec des lignes en double

1. Comment gérer KeyError

Lorsque vous utilisez la fonction drop dans pandas, vous pouvez rencontrer une KeyError si l'index ou la colonne spécifié n'est pas trouvé dans le DataFrame.

Pour éviter que cette erreur ne se produise, vous pouvez utiliser le paramètre errors . Le paramètre d'erreurs a deux options : 'raise' et 'ignore'. Par défaut, il est défini sur 'raise', ce qui signifie qu'une KeyError sera levée si l'index ou la colonne spécifié n'est pas trouvé.

Cependant, vous pouvez le définir sur "ignorer" si vous souhaitez supprimer l'erreur et continuer à exécuter le code.

Supposons que nous ayons le DataFrame suivant. Essayons de supprimer une ligne qui n'existe pas dans le DataFrame et voyons ce qui se passe :

# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)

Le script Python donnera l'erreur suivante :

Pour gérer de telles erreurs, assurez-vous de faire référence aux lignes présentes dans l'ensemble de données.

2. Comment travailler avec des lignes en double

Lors du nettoyage des données, une tâche importante consiste à rechercher les doublons et à les supprimer.

Le traitement des lignes en double dans un DataFrame peut ajouter de la complexité lors de l'utilisation de la fonction drop .

Si vous souhaitez supprimer des lignes en fonction de valeurs d'index dupliquées, vous pouvez utiliser la fonction dupliquée , puis utiliser l'indexation booléenne pour sélectionner uniquement les lignes non dupliquées.

Supposons que nous ayons le DataFrame suivant :

Pandas Drop Index Column : expliqué avec des exemples

Vous pouvez voir que nous avons des index en double dans notre ensemble de données. Pour supprimer les doublons, nous allons d'abord identifier les valeurs en double avec le code suivant :

# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')

Après cela, nous sélectionnerons uniquement les lignes non dupliquées et les stockerons dans le DataFrame précédent avec le code suivant :

# Select only non-duplicated rows
df = df[~duplicated_rows]

La sortie finale est donnée ci-dessous :

La sortie finale n'a plus de lignes en double.

Dernières pensées

Au fur et à mesure que vous poursuivez votre parcours en science des données et en analyse, comprendre comment manipuler et gérer les données est une compétence qui s'avérera la plus importante.

La maîtrise d'opérations telles que la suppression d'index dans les pandas en est un élément clé. Savoir comment réinitialiser ou supprimer un index est un tremplin vers le nettoyage, la transformation et l'extraction d'informations précieuses à partir de vos données.

En apprenant à supprimer des index, vous pourrez remodeler vos DataFrames plus efficacement. Vous pourrez également créer des ensembles de données plus propres, plus faciles à lire et à analyser. De plus, la réinitialisation des index peut être cruciale lors de la fusion ou de la concaténation de plusieurs DataFrames, où des conflits d'index peuvent survenir.

La possibilité de supprimer des index vous permet d'avoir plus de contrôle et de flexibilité sur vos ensembles de données !


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir