Comment supprimer une colonne sans nom dans Pandas DataFrame



Vous pouvez utiliser les deux méthodes suivantes pour supprimer une colonne dans un DataFrame pandas qui contient « Unnamed » dans le nom de la colonne :

Méthode 1 : supprimer la colonne sans nom lors de l’importation de données

df = pd.read_csv('my_data.csv', index_col=0)

Méthode 2 : supprimer la colonne sans nom après l’importation des données

df = df.loc[:, ~df.columns.str.contains('^Unnamed')]

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : supprimer une colonne sans nom lors de l’importation de données

Supposons que nous créions un simple DataFrame pandas et que nous l’exportions vers un fichier CSV :

import pandas as pd

#create DataFrame
df1 = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F'],
                    'points': [4, 4, 6, 8, 9, 5],
                    'rebounds': [12, 7, 8, 8, 5, 11]})

#view DataFrame
print(df1)

  team  points  rebounds
0    A       4        12
1    B       4         7
2    C       6         8
3    D       8         8
4    E       9         5
5    F       5        11

#export DataFrame to CSV file
df1.to_csv('my_data.csv')

Désormais, lorsque nous essayons de lire le fichier dans un DataFrame pandas, la première colonne porte le nom Sans nom : 0

#import CSV file
df2 = pd.read_csv('my_data.csv')

#view DataFrame
print(df2)

   Unnamed: 0 team  points  rebounds
0           0    A       4        12
1           1    B       4         7
2           2    C       6         8
3           3    D       8         8
4           4    E       9         5
5           5    F       5        11

Pour éviter cela, nous pouvons spécifier index_col=0 pour indiquer aux pandas que la première colonne est en fait la colonne d’index :

#import CSV file
df2 = pd.read_csv('my_data.csv', index_col=0)

#view DataFrame
print(df2)

  team  points  rebounds
0    A       4        12
1    B       4         7
2    C       6         8
3    D       8         8
4    E       9         5
5    F       5        11

Exemple 2 : supprimer la colonne sans nom après l’importation de données

Supposons que nous créions un simple DataFrame pandas et que nous l’exportions vers un fichier CSV :

import pandas as pd

#create DataFrame
df1 = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F'],
                    'points': [4, 4, 6, 8, 9, 5],
                    'rebounds': [12, 7, 8, 8, 5, 11]})

#export DataFrame to CSV file
df1.to_csv('my_data.csv')

Supposons maintenant que nous importions ce fichier dans un DataFrame pandas :

#import CSV file
df2 = pd.read_csv('my_data.csv')

#view DataFrame
print(df2)

   Unnamed: 0 team  points  rebounds
0           0    A       4        12
1           1    B       4         7
2           2    C       6         8
3           3    D       8         8
4           4    E       9         5
5           5    F       5        11

Pour supprimer la colonne qui contient « Sans nom » dans le nom, nous pouvons utiliser la syntaxe suivante :

#drop any column that contains "Unnamed" in column name
df2 = df2.loc[:, ~df2.columns.str.contains('^Unnamed')]

#view updated DataFrame
print(df2)

  team  points  rebounds
0    A       4        12
1    B       4         7
2    C       6         8
3    D       8         8
4    E       9         5
5    F       5        11

Notez que la colonne « Unnamed : 0 » a été supprimée du DataFrame.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment supprimer la première ligne dans Pandas DataFrame
Comment supprimer la première colonne dans Pandas DataFrame
Comment supprimer les colonnes en double dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *