小编ric*_*927的帖子

如何重命名多索引列?

如何重命名 pandas 中的 MultiIndex 列?

例如,这是我希望能够做的:

import pandas as pd

df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]],
                  columns=pd.MultiIndex.from_tuples([('a', 1), ('a', 2), ('b', 1)]))

df.rename(columns={('a', 1): 'd', ('a', 2): 'e', ('b', 1): 'f'}, errors='raise')
Run Code Online (Sandbox Code Playgroud)

但是,这没有任何效果,返回一个与原始列名相同的 DataFrame:

   a     b
   1  2  1
0  1  2  3
1  4  5  6
2  7  8  9
Run Code Online (Sandbox Code Playgroud)

我想得到:

   d  e  f
0  1  2  3
1  4  5  6
2  7  8  9
Run Code Online (Sandbox Code Playgroud)

(我用来errors='raise'确保正确引用列名称。)

当您没有 MultiIndex 时,这有效:

df = …
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
8553
查看次数

标签 统计

pandas ×1

python ×1