DataFrame Index ersetzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
h.sperling@enbw.com
User
Beiträge: 2
Registriert: Sonntag 20. August 2023, 10:25

Hallo zusammen, ich bin noch recht neu in Python und bin auf ein Problem gestoßen, dessen Lösung ich irgendwie in keinem Forum finde.
Ich lese eine Excel Datei mit Pandas in ein DataFrame ein, was wunderbar funktioniert.
Ich weiß jedoch nicht wie ich die Spaltennamen und den Index (Zeilennamen) ersetze.

Hier ein einfaches Beispiel aus dem Netz:

dataframe
Attendance Name Obtained Marks
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67

nun wende ich redindex an:
dataframe1 = dataframe.reindex(['Presents','Name', 'Marks'], axis='columns')

Das Ergebnis ist:

dataframe1
Presents Name Marks
0 NaN Olivia NaN
1 NaN John NaN
2 NaN Laura NaN
3 NaN Ben NaN
4 NaN Kevin NaN

Wie man sieht werden zwar die Spaltennamen "Attendance" und "Obtained Marks" durch "Presents" und "Marks" ersetzt.
Die Zelleninhalte dieser beiden Spalten werden jedoch "überschrieben". Ich möchte jedoch, dass die Zelleninhalte bleiben
und nur die Spaltennamen ersetzt werden. Gibt es dazu ggf. eine zugehörige Funktion in Pandas oder muss man das selbst lösen?

Ich möchte sozusagen folgendes Ergebnis erzielen:

dataframe1_soll:
Presents Name Marks
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67


Gruß Harald
Sirius3
User
Beiträge: 18273
Registriert: Sonntag 21. Oktober 2012, 17:20

Du willst also nur die Spaltennamen ändern?

Code: Alles auswählen

dataframe.columns = ["Presents", "Name", "Marks"]
h.sperling@enbw.com
User
Beiträge: 2
Registriert: Sonntag 20. August 2023, 10:25

Sirius3 hat geschrieben: Sonntag 20. August 2023, 13:28 Du willst also nur die Spaltennamen ändern?

Code: Alles auswählen

dataframe.columns = ["Presents", "Name", "Marks"]
[/quote]

Klasse, Vielen Dank! Auf die gleiche Weise habe ich auch den Index(Spalten) anpassen können.
Ich habe wohl den Sinn der Pandas Funktion "reindex" falsch verstanden... 

Gruß
Antworten