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.
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 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.
LinkedInVerwandter Artikel - Pandas DataFrame
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame
- Wie man Pandas-DataFrame nach den Werten einer Spalte sortiert
- Wie erhält man das Aggregat der Pandas gruppenweise und sum