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

How do I add a multi-level column index to an existing df?

如何向现有的 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    |  

您可以使用多个构造函数之一手动构造 pandas.MultiIndex。来自您案例的文档:

对于你的情况,我认为 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    |