pd.MultiIndex: 如何向多索引列添加 1 个级别 (0)?
pd.MultiIndex: How do I add 1 more level (0) to a multi-index column?
这听起来微不足道,但我就是无法向多级列 df 的列中再添加 1 级索引。
当前状态
Category | Cat1 | Cat2 |
|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 |
当我使用下面的代码时
代码 1:错误:没有为 MultiIndex 定义 isnull
df.columns=pd.MultiIndex.from_arrays([['H','H'],df.columns])
代码 2:一级错误 名称变成组合
df.columns=pd.MultiIndex.from_arrays([['H','H'],df.columns.value])
Importance | H | H |
Category | (Cat1, Total Assets) | (Cat2, AUMs) |
Firm 1 | 100 | 300 |
Firm 2 | 200 | 3400 |
Firm 3 | 300 | 800 |
Firm 4 | NaN | 800 |
使用concat()
:
df=pd.concat([df],keys=['H'],names=['Importance'],axis=1)
这听起来微不足道,但我就是无法向多级列 df 的列中再添加 1 级索引。
当前状态
Category | Cat1 | Cat2 |
|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 |
当我使用下面的代码时
代码 1:错误:没有为 MultiIndex 定义 isnull
df.columns=pd.MultiIndex.from_arrays([['H','H'],df.columns])
代码 2:一级错误 名称变成组合
df.columns=pd.MultiIndex.from_arrays([['H','H'],df.columns.value])
Importance | H | H |
Category | (Cat1, Total Assets) | (Cat2, AUMs) |
Firm 1 | 100 | 300 |
Firm 2 | 200 | 3400 |
Firm 3 | 300 | 800 |
Firm 4 | NaN | 800 |
使用concat()
:
df=pd.concat([df],keys=['H'],names=['Importance'],axis=1)