大熊猫分组并总和显示值

Posted

技术标签:

【中文标题】大熊猫分组并总和显示值【英文标题】:pandas group by and sum with values being displayed 【发布时间】:2021-02-23 15:17:34 【问题描述】:

我需要按两列分组并对第三列求和。我的数据如下所示:

site        industry        spent
Auto        Cars             1000
Auto        Fashion          200
Auto        Housing          100
Auto        Housing          300
Magazine    Cars             100
Magazine    Fashion          200
Magazine    Housing          300
Magazine    Housing          500

我的代码:

df.groupby(by=['site', 'industry'])['Revenue'].sum()

输出是:

                       spent
site        industry
Auto        Cars             1000
            Fashion          200
            Housing          400
Magazine    Cars             100
            Fashion          200
            Housing          800

当我将其转换为 csv 时,我只得到一列 - 已花费。我想要的输出与原始数据的格式相同,只是需要对收入求和,并且我需要查看列中的所有值。

【问题讨论】:

尝试重置索引 如果您在to_csvto_excel 中传递index=False,则将排除索引列。 我确实传递了 index=false,这让我返回了所有行,但它没有总结花费的列... 【参考方案1】:

试试这个,使用as_index=False:

df = df.groupby(by=['site', 'industry'], as_index=False).sum()
print(df)


       site industry  spent
0      Auto     Cars   1000
1      Auto  Fashion    200
2      Auto  Housing    400
3  Magazine     Cars    100
4  Magazine  Fashion    200
5  Magazine  Housing    800

【讨论】:

嗯,它似乎没有总结花费列。 仅根据站点和行业的唯一键求和。在您的示例中,没有什么可以总结的。为“汽车”、“住房”再添加一条记录,然后您将看到总和 您只更新了输出...而不是代码本身。而且它的代码 si - 不执行求和... 您能否说明您是如何在代码中导入这些数据的? 我已经重新启动了一切并且它工作正常。谢谢!我已经接受了答案。

以上是关于大熊猫分组并总和显示值的主要内容,如果未能解决你的问题,请参考以下文章

熊猫分组总和

相邻行熊猫的分组条件总和

求和函数没有在熊猫中以正确的方式显示总和[关闭]

熊猫按时间和分组滚动条件总和

拆分两个元素的元组并添加到熊猫数据框[重复]

熊猫:设置列等于另一列的分组总和[重复]