我在组织数据帧时遇到了一些困难.我认为这很简单,但我已经坚持了这么久:
这是df1:
Output Energy, (Wh/h) Lights (Wh) Lights+Media (Wh) Total Usage (h) \
Hour
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
3 0.0 0.0 0.0 0.0
4 0.0 0.0 0.0 0.0
5 0.0 0.0 0.0 0.0
我希望这个转换为易用性:
df2 =df1.T
给我:
Hour 1 2 3 4
Output Energy, (Wh/h) 0.0 0.0 0.0 0.0
Lights (Wh) 0.0 0.0 0.0 0.0
Lights+Media (Wh) 0.0 0.0 0.0 0.0
Total Usage (h) 0.0 0.0 0.0 0.0
Lights (h) 0.0 0.0 0.0 0.0
Light+Media (h) 0.0 0.0 0.0 0.0
但最终,我希望它看起来像这样:
Hour
1 2 3 4
Output Energy, (Wh/h) 0.0 0.0 0.0 0.0
Lights (Wh) 0.0 0.0 0.0 0.0
CU-101 Lights+Media (Wh) 0.0 0.0 0.0 0.0
Total Usage (h) 0.0 0.0 0.0 0.0
Lights (h) 0.0 0.0 0.0 0.0
Light+Media (h) 0.0 0.0 0.0 0.0
我一直试图将’Cu-101’添加为多级列,但无济于事.我应该在转置之前或之后添加它吗?
此外,移动’小时’ – 我将此列设置为索引,但如何将其移动到新的水平?
最佳答案 你可以使用
MultiIndex.from_arrays
:
df.index = pd.MultiIndex.from_arrays([['Hour'] * len(df.index),
df.index],
names=(None,None))
df.columns = pd.MultiIndex.from_arrays([['CU-101'] * len(df.columns),
df.columns],
names=(None,None))
print (df.T)
Hour
1 2 3 4 5
CU-101 Output Energy, (Wh/h) 0.0 0.0 0.0 0.0 0.0
Lights (Wh) 0.0 0.0 0.0 0.0 0.0
Lights+Media (Wh) 0.0 0.0 0.0 0.0 0.0
Total Usage (h) 0.0 0.0 0.0 0.0 0.0