python - to_excel函数保存到Excel文件时合并单元格

标签 python pandas

我有一个如下所示的 Excel 文件:

CompanyName    High Priority     QualityIssue
Customer1         Yes             User
Customer1         Yes             User
Customer2         No              User
Customer3         No              Equipment
Customer1         No              Neither
Customer3         No              User
Customer3         Yes             User
Customer3         Yes             Equipment
Customer4         No              User

我想计算 CompanyName 中每个实例在每种 QualityIssue 类型中出现的次数,并按出现次数下降排序。

例如,通过使用以下代码:

df.groupby(["CompanyName ", "QualityIssue"]).size()

我得到:

Out:

CompanyName       QualityIssue    Count
Customer2         User            1
Customer1         Neither         1
Customer4         User            1
Customer1         User            2
Customer3         Equipment       2
Customer3         User            2

然后我使用:

out.to_frame().sort_values(by='Count').to_excel('out.xlsx')

并得到:

CompanyName       QualityIssue    Count
Customer2         User            1
Customer1         Neither         1
Customer4         User            1
Customer1         User            2
Customer3         Equipment       2
                  User            2

请注意最后两行:

Customer3         Equipment       2
                  User            2

Customer3 的行与下一行合并,因此 Customer3 是通过合并 2 行创建的 1 个单元格,其他信息显示在单独的行中。这里的问题是,如果我想将 Excel 文件保存到 .csv,我将得到 2 行,第一行是 Customer3 Equipment 2,第二行是空单元格 User 2,但应该是 Customer3 而不是空单元格。

有什么解决方案可以在保存到 Excel 时不合并单元格但重复名称吗?就像 python 的输出一样?

最佳答案

我认为你需要reset_index对于来自 MultiIndex:

out.reset_index().sort_values(by='Count').to_excel('out.xlsx', index=False)

关于python - to_excel函数保存到Excel文件时合并单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45236994/

相关文章:

python - 转置和分组 pandas 列

python - 如何正确舍入 numpy float 组

python - 在不存储外部文件的情况下在python中操作shell的图像输出

Python - 为什么这段代码被认为是一个生成器?

python - 传输数据创建新的数据帧来重新构造数据帧

python - 过滤pandas DataFrame

python - 组合 numpy 数组,不会丢失重复的条目或不与任何其他元素相交的条目

python - TastyPie throttle - 按用户还是按 IP?

python - 在 pandas 数据框中填充新列,该数据框从其他列获取输入

python - 合并字符串列上的两个数据框 - 复合字符串列