Python Pandas:如何将DataFrame的MultiIndex指定层级命名为'Ticker'?
修改DataFrame MultiIndex层级名称为'Ticker'的方法
嘿,这个操作挺常见的,我给你两种实用的方法,根据你的场景选就行:
方法一:用rename_axis(推荐,更直观)
这个方法可以精准指定要修改的层级,不管是按位置还是原名称:
- 如果知道目标层级的位置(比如是第0层,也就是最外层的索引):
df = df.rename_axis('Ticker', level=0)
- 如果知道目标层级的旧名称(比如原来叫'Code'):
df = df.rename_axis('Ticker', level='Code')
要是红框指的是列的MultiIndex(不是行索引),只需要加个axis=1参数:
df = df.rename_axis('Ticker', level=0, axis=1)
方法二:直接修改索引/列的names属性
如果你清楚层级的位置,可以直接修改名称列表:
行索引的情况
# 先把索引名称转成列表 index_names = list(df.index.names) # 假设要修改第1个层级(索引从0开始) index_names[1] = 'Ticker' # 赋值回去 df.index.names = index_names
列索引的情况
col_names = list(df.columns.names) col_names[0] = 'Ticker' df.columns.names = col_names
两种方法都能达到目的,rename_axis更简洁,适合快速修改;直接改names属性适合需要批量修改多个层级名称的场景~
内容的提问来源于stack exchange,提问作者user3595632
相关产品推荐
相关产品推荐

