Converti Pandas in CSV senza indice

Manav Narula 15 febbraio 2024
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ù.

converti Pandas in CSV senza indice

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ù.

Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

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.

LinkedIn

Articolo correlato - Pandas DataFrame