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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *