python - 如何在 Pandas 中拆分列标题并正确导出到 Excel

标签 python excel python-2.7 pandas dataframe

我在 Pandas 中有以下数据头:

enter image description here

我正在努力获得以下结果:

enter image description here

我正在尝试执行命令:

df = df.reorder_levels([0, 1, 3, 2], axis='columns')

然而,这只是对行进行重新排序,我发现这里存在破坏数据一致性的风险。

您可以建议 pandas/pythonic 的方法吗?或者我应该检查哪些选项才能正确导出到 Excel(如图 2 所示)?

最佳答案

我最近遇到了这个问题,并发现了另一个肮脏但更简单的技巧。

只要第一个标题行具有不同的值,df.to_excel 就会将后续的标题行保存为单独的值。因此,在设置标题时,请使第一行成为唯一字符,并在其余代码中忽略它。

没有唯一的第一个标题行:

df1 =  pd.DataFrame(columns=[['APPROACH #1', 'APPROACH #1', 'APPROACH #1', 'APPROACH #1', 'APPROACH #1'],
                         ['CODE', 'CODE', 'CODE', 'CODE', 'CODE'],
                         ['GLMNET', 'HYBER', 'LightGBM', 'XGB_1', 'XGB_2']])

Image of df1 result with merged header values

具有唯一的第一标题行:

df2 =  pd.DataFrame(columns=[[1, 2, 3, 4, 5],
                         ['APPROACH #1', 'APPROACH #1', 'APPROACH #1', 'APPROACH #1', 'APPROACH #1'],
                         ['CODE', 'CODE', 'CODE', 'CODE', 'CODE'],
                         ['GLMNET', 'HYBER', 'LightGBM', 'XGB_1', 'XGB_2']])

Image of df2 result with separate header values

希望这有帮助!

关于python - 如何在 Pandas 中拆分列标题并正确导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43543015/

相关文章:

vba - 排序对话框 VBA

Excel:如何将具有年份值的列划分为具有范围的 2 列?

Python编码错误添加到mysql表

python - 如何在第一次出现一个字符时将字符串分成两部分

python - SlugRelatedField 查询集

python - boolean 运算符如何在 'if' 条件下工作?

python - 使用一个类在另一个类中设置参数 - Python

php - Libxl 背景颜色

python - SQLAlchemy 在 MySQLdb 上的用途

Django Form 将 ChoiceField 选项设置为 Form 被调用