In [27]: df=df.rename(columns = {'two':'new_name'})
In [28]: df
Out[28]:
one three new_name
0 1 a 9
1 2 b 8
2 3 c 7
3 4 d 6
4 5 e 5
Es folgt der Dokumentstring für die rename Methode.
Definition: df.rename(self, index=None, columns=None, copy=True, inplace=False)
Docstring:
Alter index and / or columns using input function or
functions. Function / dict values must be unique (1-to-1). Labels not
contained in a dict / Series will be left as-is.
Parameters
----------
index : dict-like or function, optional
Transformation to apply to index values
columns : dict-like or function, optional
Transformation to apply to column values
copy : boolean, default True
Also copy underlying data
inplace : boolean, default False
Whether to return a new DataFrame. If True then value of copy is
ignored.
See also
--------
Series.rename
Returns
-------
renamed : DataFrame (new object)
Dies funktioniert bei mir nicht, es sei denn, ich verwende inplace=True, wie in der Antwort von @Jeong-Yoon Lee gezeigt.
– J Strahl
19. März 2020 um 8:55 Uhr
Jeong-Yoon Lee
Seit inplace Argument verfügbar ist, müssen Sie den ursprünglichen Datenrahmen nicht kopieren und sich selbst zuweisen, sondern gehen Sie wie folgt vor:
Eigentlich funktioniert das nicht, wenn Sie später den Spaltennamen für andere Operationen wie in df verwenden[‘new_name’]
– Meisterjoghurt
4. Juli 2016 um 16:46 Uhr
Diese Antwort war nützlich für mich, um eine bestimmte Spalte in einen neuen Namen zu ändern. 1. Spalte ist Index 0, 2. Spalte ist Index 1 und so weiter. nette Lösung … und ich bin sicher, dass dies mehr Leuten helfen wird … da die anderen Lösungen erfordern, dass Sie die ursprünglichen Spaltennamen vorher kennen und kopieren … während dies eine schnelle und schmutzige Methode ist … die ihre eigene Verwendung hat.
– ihightower
30. September 2017 um 17:27 Uhr
@MasterYogurt Ihr Kommentar ist nicht korrekt. Es ist möglich durchzuführen df['new_name'] (und andere Panda-Dinge) nach dem Ändern von Variablen wie oben beschrieben. Ihr Kommentar war möglicherweise gültig, als er ursprünglich gepostet wurde.
– Jakob H
29. September 2018 um 21:12 Uhr
Davon abgesehen, mit der rename Methoden ist eine bessere Lösung.
– Jakob H
29. September 2018 um 21:13 Uhr
@JacobH Ich stoße immer noch auf dieses Problem mit Pandas v1.0.3
– Philipp
20. Oktober 2020 um 14:08 Uhr
Wenn Sie wissen, welche Spalte # es ist (erste / zweite / n-te), dann funktioniert diese Lösung, die zu einer ähnlichen Frage gepostet wurde, unabhängig davon, ob sie benannt oder unbenannt ist, und in einer Zeile: https://stackoverflow.com/a/26336314/ 4355695
df.rename(columns = {list(df)[1]:'new_name'}, inplace=True)
# 1 is for second column (0,1,2..)
Pandas 0.21 hat jetzt einen Achsenparameter
Die Umbenennungsmethode hat einen Achsenparameter erhalten, der mit den meisten anderen Teilen der Pandas-API übereinstimmt.
Also zusätzlich dazu:
df.rename(columns = {'two':'new_name'})
Du kannst tun:
df.rename({'two':'new_name'}, axis=1)
oder
df.rename({'two':'new_name'}, axis="columns")
df.rename({‘two’:’new_name’}, axis=’columns’) Löst TypeError aus: Kann nicht sowohl ‘axis’ als auch ‘index’ oder ‘columns’ angeben.
– Hier hier
30. Dezember 2017 um 23:37 Uhr
@HereHere Stellen Sie sicher, dass Sie die Pandas-Version 0.21 verwenden. Tun pd.__version__ um Ihre Version zu überprüfen
– Ted Petrou
30. Dezember 2017 um 23:49 Uhr
Aylen
Zum Umbenennen der Spalten hier ist die einfache, die für beide funktioniert Default(0,1,2,etc;) und vorhandene Spalten, aber nicht sehr nützlich für größere Datensätze (mit vielen Spalten).
Für einen größeren Datensatz können wir die benötigten Spalten aufteilen und den folgenden Code anwenden:
df.columns = ['new_name','new_name1','old_name']
df.rename({‘two’:’new_name’}, axis=’columns’) Löst TypeError aus: Kann nicht sowohl ‘axis’ als auch ‘index’ oder ‘columns’ angeben.
– Hier hier
30. Dezember 2017 um 23:37 Uhr
@HereHere Stellen Sie sicher, dass Sie die Pandas-Version 0.21 verwenden. Tun pd.__version__ um Ihre Version zu überprüfen
das Weglassen von index=str führt zu einem Fehler ersetzen hat ein unerwartetes Argument ‘Spalten’
Dies erstreckt sich gut über mehr als eine Spalte: Wenn Sie eine Liste der haben old_names und die new-names (eins zu eins), dann können Sie Folgendes tun: df.rename(columns=dict(zip(old_names, new_names)), inplace=True)
– Colin
3. September 2021 um 8:58 Uhr
10540200cookie-checkÄndern eines bestimmten Spaltennamens in pandas DataFrame [duplicate]yes