如何向现有df添加多级列索引?

2024-06-07 04:18:37 发布

您现在位置:Python中文网/ 问答频道 /正文

如何向现有df添加多级列索引?我从Excel文件中读取df,所以我不想使用pd.DataFrame重新创建df

多谢各位

当前状态

         |Total Assets| AUMs |
Firm 1   | 100        | 300  |
Firm 2   | 200        | 3400 |
Firm 3   | 300        | 800  |
Firm 4   | NaN        | 800  |

所需状态

Importance| H           | H      |
Category | Cat1         | Cat2   |
         |Total Assets  | AUMs   | 
Firm 1   | 100          |  300   |  
Firm 2   | 200          | 3400   |  
Firm 3   | 300          | 800    | 
Firm 4   | NaN          | 800    |  

Tags: 文件dataframedf状态nanexceltotalpd
1条回答
网友
1楼 · 发布于 2024-06-07 04:18:37

您可以使用几个构造函数中的一个手动构造^{}。从您案例的文档中:

  • ^{}
    将数组列表转换为多索引

  • ^{}
    将元组列表转换为多索引

  • ^{}
    从数据帧生成多索引

对于您的情况,我认为pd.MultiIndex.from_arrays可能是最简单的方法:

df.columns=pd.MultiIndex.from_arrays([['H','H'],['Cat1','Cat2'],df.columns],names=['Importance','Category',''])

输出:

Importance| H           | H      |
Category | Cat1         | Cat2   |
         |Total Assets  | AUMs   | 
Firm 1   | 100          |  300   |  
Firm 2   | 200          | 3400   |  
Firm 3   | 300          | 800    | 
Firm 4   | NaN          | 800    |  

相关问题 更多 >