Pandas in CSV ohne Index konvertieren

Manav Narula 26 Dezember 2020
Pandas in CSV ohne Index konvertieren

Wie Sie wissen, kann man sich den Index als Referenzpunkt für die Speicherung und den Zugriff auf Datensätze in einem DataFrame vorstellen. Sie sind für jede Zeile eindeutig und reichen normalerweise von 0 bis zur letzten Zeile des DataFrame, aber wir können auch Seriennummern, Datumsangaben und andere eindeutige Spalten als Index eines DataFrame haben.

Aber manchmal, beim Exportieren oder Lesen von Dateien, kann diese zusätzliche Indexspalte vom Benutzer nicht benötigt werden. Anhand des folgenden DataFrames soll das Problem etwas deutlicher dargestellt werden.

import pandas as pd

df = pd.DataFrame([[6, 7, 8], [9, 12, 14], [8, 10, 6]], columns=["a", "b", "c"])

print(df)

Ausgabe:

   a   b   c
0  6   7   8
1  9  12  14
2  8  10   6

Wie Sie sehen, haben wir dem DataFrame einen zusätzlichen Index hinzugefügt, den der Anwender beim Speichern in eine Datei vermeiden kann. Wenn wir diesen DataFrame ohne die Index-Spalte in eine CSV-Datei konvertieren wollen, können wir dies tun, indem wir in der Funktion to_csv() den Wert index auf False setzen.

Beispiel-Codes:

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)

Ausgabe:

   a   b   c
0  6   7   8
1  9  12  14
2  8  10   6

Wie in der Ausgabe zu sehen ist, hat der DataFrame zwar einen Index, aber da wir den Parameter index auf False gesetzt haben, wird die exportierte CSV-Datei diese zusätzliche Spalte nicht haben.

Pandas zu CSV ohne Index konvertieren

Wenn wir eine Datei mit einer zusätzlichen Indexspalte exportieren (ohne den index-Parameter auf False zu setzen) und dann versuchen, sie zu lesen, erhalten wir eine seltsame zusätzliche Spalte.

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)

Ausgabe:

   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

Wie Sie sehen können, hat der df_new DataFrame eine zusätzliche Unnamed Spalte.

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

Verwandter Artikel - Pandas DataFrame

Verwandter Artikel - Pandas CSV