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.

Verwandter Artikel - Pandas DataFrame

  • Alle Spalten eines Pandas DataFrame anzeigen
  • Verwandter Artikel - Pandas CSV

  • Wie man Pandas-DataFrame in ein Numpy-Array konvertiert
  • Wie man die Häufigkeit zählt, mit der ein Wert im Pandas-DataFrame auftritt