Déposer les colonnes par index dans Pandas DataFrame

Les DataFrames peuvent être très grands et peuvent contenir des centaines de lignes et de colonnes. Il est nécessaire de maîtriser les opérations de maintenance de base d’une DataFrame, comme le dépôt de plusieurs colonnes. Nous pouvons utiliser la méthode dataframe.drop() pour déposer des colonnes ou des lignes du DataFrame en fonction de l’axis spécifié, 0 pour les lignes et 1 pour les colonnes. Elle identifie les éléments à supprimer en fonction de certains labels. Par exemple, nous allons déposer la colonne a du DataFrame suivant.

import pandas as pd

df = pd.DataFrame([[10,6,7,8],
                   [1,9,12,14],
                   [5,8,10,6]],
                  columns = ['a','b','c','d'])

print(df)

df.drop(['a'], axis = 1, inplace = True)

print(df)

Production :

    a  b   c   d
0  10  6   7   8
1   1  9  12  14
2   5  8  10   6
   b   c   d
0  6   7   8
1  9  12  14
2  8  10   6

Remarquez l’utilisation du paramètre inplace dans la fonction de suppression. Si le paramètre inplace est réglé sur True, les colonnes sont supprimées du DataFrame original ; sinon, une copie de l’original est renvoyée.

Dans notre exemple, nous avons supprimé la colonne a, mais nous devons passer son nom d’étiquette à la fonction dataframe.drop(). Lorsque nous traitons de grands ensembles de données, nous devons effectuer ces tâches pour plusieurs colonnes à la fois et en utilisant des index de colonnes au lieu de leurs noms.

Nous pouvons y parvenir en utilisant la méthode dataframe.columns(), qui renvoie toutes les colonnes d’une DataFrame et en passant les étiquettes de colonnes requises en utilisant leurs index à la fonction dataframe.drop(). L’extrait de code suivant explique comment nous pouvons faire cela.

import pandas as pd

df = pd.DataFrame([[10,6,7,8],
                   [1,9,12,14],
                   [5,8,10,6]],
                  columns = ['a','b','c','d'])

df.drop(df.columns[[1,2]],
        axis = 1,
        inplace = True)

print(df)

Production :

    a   d
0  10   8
1   1  14
2   5   6

Elle dépose les colonnes dont l’index est 1 ou 2.

Nous pouvons également éviter d’utiliser le paramètre axis en mentionnant simplement le paramètre columns dans la fonction Dataframe.drop, qui indique automatiquement que les colonnes doivent être supprimées. Exemple :

import pandas as pd

df = pd.DataFrame([[10,6,7,8],
                   [1,9,12,14],
                   [5,8,10,6]], columns = ['a','b','c','d'])

df.drop(columns = df.columns[[1,2]],
        inplace = True)

print(df)

Production :

    a   d
0  10   8
1   1  14
2   5   6

Article connexe - Pandas DataFrame

  • Convertir Pandas en CSV sans indice
  • Soustraire deux colonnes d'un DataFrame de Pandas