Converti Pandas in CSV senza indice
Come sapete, l’indice può essere pensato come un punto di riferimento per l’archiviazione e l’accesso ai record in un DataFrame. Sono univoci per ogni riga e di solito vanno da 0 all’ultima riga del DataFrame, ma possiamo anche avere numeri di serie, date e altre colonne univoche come indice di un DataFrame.
Ma a volte, durante l’esportazione o la lettura di file, questa colonna di indice aggiuntiva potrebbe non essere richiesta dall’utente. Il problema verrà illustrato più chiaramente utilizzando il seguente DataFrame.
import pandas as pd
df = pd.DataFrame([[6, 7, 8], [9, 12, 14], [8, 10, 6]], columns=["a", "b", "c"])
print(df)
Produzione:
a b c
0 6 7 8
1 9 12 14
2 8 10 6
Come puoi vedere, abbiamo un indice aggiuntivo aggiunto al DataFrame, che può essere evitato dall’utente mentre lo salva in un file. Se vogliamo convertire questo DataFrame in un file CSV senza la colonna index, possiamo farlo impostando index
su False
nella funzione to_csv()
.
Codici di esempio:
import pandas as pd
df = pd.DataFrame([[6, 7, 8], [9, 12, 14], [8, 10, 6]], columns=["a", "b", "c"])
print(df)
df.to_csv("data2.csv", index=False)
Produzione:
a b c
0 6 7 8
1 9 12 14
2 8 10 6
Come visto nell’output, il DataFrame ha un indice, ma poiché abbiamo impostato il parametro index
su False
, il file CSV esportato non avrà quella colonna in più.
Se esportiamo un file con una colonna indice extra (senza impostare il parametro index
come False
) e poi proviamo a leggerlo, otterremo una strana colonna extra.
import pandas as pd
df = pd.DataFrame([[6, 7, 8], [9, 12, 14], [8, 10, 6]], columns=["a", "b", "c"])
print(df)
df.to_csv("data2.csv")
df_new = pd.read_csv("data2.csv")
print(df_new)
Produzione:
a b c
0 6 7 8
1 9 12 14
2 8 10 6
Unnamed: 0 a b c
0 0 6 7 8
1 1 9 12 14
2 2 8 10 6
Come puoi vedere, il DataFrame df_new
ha una colonna Unnamed
in più.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticolo correlato - Pandas DataFrame
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Converti un Float in un Integer in Pandas DataFrame
- Ordina Pandas DataFrame in base ai valori di una colonna
- Ottieni l'aggregato di Pandas Group-By e Sum