Ich suchte nach einer eleganten Möglichkeit, einen bestimmten Spaltennamen in a zu ändern DataFrame
.
Daten abspielen ...
import pandas as pd
d = {
'one': [1, 2, 3, 4, 5],
'two': [9, 8, 7, 6, 5],
'three': ['a', 'b', 'c', 'd', 'e']
}
df = pd.DataFrame(d)
Die eleganteste Lösung, die ich bisher gefunden habe ...
names = df.columns.tolist()
names[names.index('two')] = 'new_name'
df.columns = names
Ich hatte auf einen einfachen Einzeiler gehofft ... dieser Versuch schlug fehl ...
df.columns[df.columns.tolist().index('one')] = 'another_name'
Alle Hinweise dankbar erhalten.
Da ein
inplace
Argument verfügbar ist, müssen Sie den ursprünglichen Datenrahmen nicht kopieren und sich selbst zuweisen, sondern gehen wie folgt vor:quelle
Wie wäre es mit?
quelle
df['new_name']
(und andere Pandas-Dinge) durchzuführen, nachdem Variablen wie oben beschrieben geändert wurden. Ihr Kommentar war möglicherweise gültig, als er ursprünglich veröffentlicht wurde.rename
Methoden eine bessere Lösung.Pandas 0.21 hat jetzt einen Achsenparameter
Die Umbenennungsmethode hat einen Achsenparameter erhalten, der mit den meisten anderen Pandas-APIs übereinstimmt.
Also zusätzlich dazu:
Du kannst tun:
oder
quelle
pd.__version__
Sie eine neuere Version zu überprüfenWenn Sie wissen, um welche Spalte es sich handelt (erste / zweite / n-te), funktioniert diese Lösung, die auf einer ähnlichen Frage veröffentlicht wurde, unabhängig davon, ob sie benannt oder nicht benannt ist, und zwar in einer Zeile: https://stackoverflow.com/a/26336314/ 4355695
quelle
Das Umbenennen der Spalten ist hier einfach und funktioniert sowohl für
Default(0,1,2,etc;)
als auch für vorhandene Spalten, ist jedoch für größere Datensätze (mit vielen Spalten) nicht sehr nützlich.Für einen größeren Datensatz können wir die benötigten Spalten in Scheiben schneiden und den folgenden Code anwenden:
quelle
Der folgende Funktionscode kann helfen:
Leerzeichen aus Spalten entfernen.
quelle
AttributeError: 'int' object has no attribute 'replace'
könnten Sie das erweitern.Pandas Version 0.23.4
Für die Aufzeichnung:
quelle
Eine andere Möglichkeit wäre, die Spalte einfach zu kopieren und zu löschen :
Danach erhalten Sie das Ergebnis:
quelle