【发布时间】:2021-11-12 07:42:53
【问题描述】:
我有一个熊猫数据框df,如下所示:
Germany
Population GDP GDP GDP CO2
2015 2020 2015 2020 2010 2020 2030
0 26572 28985 25367 32194 44835 14415 45785
1 12372 41730 35112 37214 40748 16088 46963
2 26480 46811 37487 30372 48703 37997 43135
这些列是由 3 个级别组成的多索引。第一级以德国为国家。二级有一些指标,三级有年份。而且pandas dataframe里面还有一些数据。
我想将此数据框导出到 Excel,以便在每一列中都显示德国。然后我想在第二级合并人口、GDP 和二氧化碳。它应该如下所示:
当我使用df.to_excel(file, merge_cells = True) 时,我得到如下所示的内容: 但我不想合并德国的列,并且希望将其拆分,如顶部的屏幕截图所示。使用merge_cells = False 作为参数也不起作用,因为这样不同级别的列名将连接为一行中的列名。
相应地导出它的合适方法是什么? (如果可能的话,导出文件中年份和值之间的空行是否也可以去掉?)
注意:
df.to_dict() 看起来像这样:
{('Germany', 'Population', 2015): {0: 26572, 1: 12372, 2: 26480},
('Germany', 'Population', 2020): {0: 28985, 1: 41730, 2: 46811},
('Germany', 'GDP', 2015): {0: 25367, 1: 35112, 2: 37487},
('Germany', 'GDP', 2020): {0: 32194, 1: 37214, 2: 30372},
('Germany', 'GDP', 2010): {0: 44835, 1: 40748, 2: 48703},
('Germany', 'CO2', 2020): {0: 14415, 1: 16088, 2: 37997},
('Germany', 'CO2', 2030): {0: 45785, 1: 46963, 2: 43135}}
【问题讨论】:
标签: python excel pandas dataframe export-to-excel