Come eliminare una colonna senza nome in pandas dataframe
È possibile utilizzare i due metodi seguenti per eliminare una colonna in un DataFrame panda che contiene “Unnamed” nel nome della colonna:
Metodo 1: rimuovere la colonna senza nome durante l’importazione dei dati
df = pd. read_csv (' my_data.csv ', index_col= 0 )
Metodo 2: rimuovere la colonna senza nome dopo l’importazione dei dati
df = df. loc [:, ~df. columns . str . contains (' ^Unnamed ')]
Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.
Esempio 1: rimuovere una colonna senza nome durante l’importazione dei dati
Diciamo che creiamo un semplice DataFrame panda e lo esportiamo in un file CSV:
import pandas as pd
#createDataFrame
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 to 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 ')
Ora, quando proviamo a leggere il file in un DataFrame Panda, la prima colonna si chiama Senza nome: 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
Per evitare ciò, possiamo specificare index_col=0 per dire ai panda che la prima colonna è in realtà la colonna dell’indice:
#import CSV file df2 = pd. read_csv (' my_data.csv ', index_col= 0 ) #view DataFrame print (df2) team points rebounds 0 to 4 12 1 B 4 7 2 C 6 8 3 D 8 8 4 E 9 5 5 F 5 11
Esempio 2: rimozione della colonna senza nome dopo l’importazione dei dati
Diciamo che creiamo un semplice DataFrame panda e lo esportiamo in un file CSV:
import pandas as pd
#createDataFrame
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 ')
Supponiamo ora di importare questo file in un DataFrame panda:
#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
Per rimuovere la colonna che contiene “Unnamed” nel nome, possiamo utilizzare la seguente sintassi:
#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 to 4 12 1 B 4 7 2 C 6 8 3 D 8 8 4 E 9 5 5 F 5 11
Tieni presente che la colonna “Unnamed: 0” è stata rimossa dal DataFrame.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:
Come rimuovere la prima riga in Pandas DataFrame
Come rimuovere la prima colonna in Pandas DataFrame
Come rimuovere le colonne duplicate in Pandas