Zum Hauptinhalt springen
CSV First Aid

'Unnamed: 0' in Pandas reparieren — vollständige Anleitung

Die 'Unnamed: 0'-Spalte ist einer der meist-gegoogleten Pandas-Fehler. Sie erscheint, wenn eine CSV mit df.to_csv() ohne index=False gespeichert wurde, wodurch der DataFrame-Index als unbenannte erste Spalte geschrieben wird. Hier sind vier Wege, das zu beheben.

Methode 1: Vermeiden (am besten)

Beim Speichern: df.to_csv('data.csv', index=False). Das lässt die Index-Spalte komplett weg. Trägt der Index sinnvolle Daten (z. B. ein Datums-Index), zuerst benennen: df.index.name = 'date' — dann schreibt Pandas einen ordentlichen Header.


Methode 2: Beim Lesen beheben

Beim Laden einer CSV mit bereits unbenanntem Index: df = pd.read_csv('data.csv', index_col=0). Das sagt Pandas, Spalte 0 als Index statt als Daten zu behandeln. Der Name 'Unnamed: 0' verschwindet, weil er zum Index wird, nicht zur Datenspalte.


Methode 3: Spalte nach dem Laden entfernen

Wenn Sie den DataFrame schon geladen haben: df = df.drop(columns=['Unnamed: 0']). Robuster: df = df.loc[:, ~df.columns.str.contains('^Unnamed')]. Das entfernt ALLE unbenannten Spalten, egal wie viele.


Methode 4: Die CSV-Datei selbst reparieren

Müssen Sie die CSV einmal reparieren und weitergeben (z. B. in eine Datenbank hochladen, an einen Kollegen schicken): CSV First Aid. Datei ablegen, der 'Pandas-unnamed-index'-Fix erkennt und entfernt die Spalte automatisch, fertige CSV herunterladen.

Das ist der beste Ansatz, wenn: Sie den Code, der die Datei liest, nicht kontrollieren, Sie die Datei mit Nicht-Python-Nutzern teilen, oder Sie das dauerhaft beheben wollen statt überall index_col=0 zu schreiben.


Warum passiert das überhaupt?

to_csv() von Pandas inkludiert den Index standardmäßig, weil DataFrames immer einen Index haben. Erstellen Sie einen DataFrame aus einer Liste oder einem Dict ohne Index-Angabe, generiert Pandas automatisch einen RangeIndex (0, 1, 2, ...). Beim Export wird das als erste Spalte ohne Namen geschrieben.

Beim erneuten Lesen kann Pandas das nicht von einer echten Datenspalte unterscheiden, lädt es als Daten und vergibt den Namen 'Unnamed: 0' (weil der Header-Zelle leer ist).

Kein Python installiert? CSV First Aid entfernt die Unnamed: 0-Spalte im Browser.

CSV jetzt reparieren →

Ähnliche Tools