In der aktuell ausgewählten Antwort wird die rename_axisMethode nicht erwähnt, mit der die Index- und Spaltenebenen umbenannt werden können.
Pandas hat einige Eigenheiten, wenn es darum geht, die Ebenen des Index umzubenennen. Es gibt auch eine neue DataFrame-Methode rename_axiszum Ändern der Namen auf Indexebene .
Schauen wir uns einen DataFrame an
df = pd.DataFrame({'age':[30, 2, 12],
'color':['blue', 'green', 'red'],
'food':['Steak', 'Lamb', 'Mango'],
'height':[165, 70, 120],
'score':[4.6, 8.3, 9.0],
'state':['NY', 'TX', 'FL']},
index = ['Jane', 'Nick', 'Aaron'])

Dieser DataFrame hat eine Ebene für jeden Zeilen- und Spaltenindex. Sowohl der Zeilen- als auch der Spaltenindex haben keinen Namen. Lassen Sie uns den Namen der Zeilenindexebene in 'Namen' ändern.
df.rename_axis('names')

Die rename_axisMethode hat auch die Möglichkeit, die Namen der Spaltenebene durch Ändern des axisParameters zu ändern :
df.rename_axis('names').rename_axis('attributes', axis='columns')

Wenn Sie den Index mit einigen Spalten festlegen, wird der Spaltenname zum neuen Namen auf Indexebene. Fügen wir an die Indexebenen unseres ursprünglichen DataFrame hinzu:
df1 = df.set_index(['state', 'color'], append=True)
df1

Beachten Sie, dass der ursprüngliche Index keinen Namen hat. Wir können weiterhin rename_axiseine Liste mit der gleichen Länge wie die Anzahl der Indexebenen verwenden , müssen diese jedoch übergeben.
df1.rename_axis(['names', None, 'Colors'])

Sie können Nonedamit die Namen der Indexebenen effektiv löschen.
Serien funktionieren ähnlich, aber mit einigen Unterschieden
Erstellen wir eine Serie mit drei Indexstufen
s = df.set_index(['state', 'color'], append=True)['food']
s
state color
Jane NY blue Steak
Nick TX green Lamb
Aaron FL red Mango
Name: food, dtype: object
Wir können rename_axisähnlich wie bei DataFrames verwenden
s.rename_axis(['Names','States','Colors'])
Names States Colors
Jane NY blue Steak
Nick TX green Lamb
Aaron FL red Mango
Name: food, dtype: object
Beachten Sie, dass sich unterhalb der aufgerufenen Serie ein zusätzliches Stück Metadaten befindet Name. Beim Erstellen einer Serie aus einem DataFrame wird dieses Attribut auf den Spaltennamen festgelegt.
Wir können der renameMethode einen Zeichenfolgennamen übergeben , um ihn zu ändern
s.rename('FOOOOOD')
state color
Jane NY blue Steak
Nick TX green Lamb
Aaron FL red Mango
Name: FOOOOOD, dtype: object
DataFrames haben dieses Attribut nicht und infact löst bei dieser Verwendung eine Ausnahme aus
df.rename('my dataframe')
TypeError: 'str' object is not callable
Vor Pandas 0.21 hätten Sie rename_axisdie Werte im Index und in den Spalten umbenennen können. Es ist veraltet, also tu das nicht
rename_axisMethode zu erhalten.