Как можно просто переименовать столбец MultiIndex из pandas DataFrame, используя функцию rename ()?
Давайте рассмотрим пример и создадим такой DataFrame:
import pandas
df = pandas.DataFrame({'A': [1, 1, 1, 2, 2], 'B': range(5), 'C': range(5)})
df = df.groupby("A").agg({"B":["min","max"],"C":"mean"})
print(df)
B C
min max mean
A
1 0 2 1.0
2 3 4 3.5
IЯ могу выбрать данный столбец MultiIndex, используя кортеж для его имени:
print(df[("B","min")])
A
1 0
2 3
Name: (B, min), dtype: int64
Однако, при использовании того же наименования кортежа с функцией rename (), оно не кажется принятым:
df.rename(columns={("B","min"):"renamed"},inplace=True)
print(df)
B C
min max mean
A
1 0 2 1.0
2 3 4 3.5
Есть идеи, как вызывать rename () для работы с многоиндексными столбцами?
PS: мне известны другие варианты сглаживания имен столбцов ранее, но это мешаетя ищу более чистое решение (см. мой предыдущий вопрос )