pandas 对显示的值进行分组和求和

pandas group by and sum with values being displayed

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

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 时,我只得到一列 - 已用完。我想要的输出与原始数据的格式相同,只需要对收入求和,我需要查看列中的所有值。

试试这个,使用 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