Python 如何在数据框函数的不同列上同时使用sum和count函数?

Python 如何在数据框函数的不同列上同时使用sum和count函数?,python,pandas,dataframe,Python,Pandas,Dataframe,我的数据框如下所示: Advertiser Product Price Company1 A 10 Company1 A 10 Company1 B 8 Company2 C 5 Company3 D 3 Adve

我的数据框如下所示:

Advertiser      Product             Price
Company1        A                   10
Company1        A                   10
Company1        B                   8
Company2        C                   5
Company3        D                   3
Advertiser      Product
Company 1       A   2
                B   1
Company 2       C   1
Company 3       D   1
我目前的职能是:

top_5_products = df.groupby(['Advertiser'])['Product'].value_counts(ascending = False).head(5)
它的输出如下:

Advertiser      Product             Price
Company1        A                   10
Company1        A                   10
Company1        B                   8
Company2        C                   5
Company3        D                   3
Advertiser      Product
Company 1       A   2
                B   1
Company 2       C   1
Company 3       D   1
修改我的函数以获得价格总和的最佳方法是什么?例如:

Advertiser      Product     Total Price
Company 1       A   2       20
                B   1       8
Company 2       C   1       5
Company 3       D   1       3
我已经研究了.agg方法,但缺少使用不同列的示例。(我也不确定这是不是最好的方式)谢谢

编辑***

df.groupby(['Advertiser', 'Product']).agg({'Product': 'count', 'Price': 'sum'}).head(5)
无法使用,因为它不再排序…

groupby with

群比


有人对答案发表了评论,但很快就消失了。谢天谢地,我看到了它,它起作用了。谢谢大家!

以下代码起作用:

df.groupby(['Advertiser','Product']).agg({'Product': 'count', 'Price': 'sum'}).head(5)

编辑***这不起作用,因为它不再排序。

有人对答案发表了评论,但很快就消失了。谢天谢地,我看到了它,它起作用了。谢谢大家!

以下代码起作用:

df.groupby(['Advertiser','Product']).agg({'Product': 'count', 'Price': 'sum'}).head(5)

编辑***这不起作用,因为它不再排序。

所以,您希望所有这些都在一行中吗?不,就像我的输出示例一样。作为一个数据帧对象。我的意思是,如果你想在同一行代码上有groupby,sum等等。那么,你想把所有这些都放在一行吗?不,就像我的输出示例。作为一个数据帧对象。我的意思是,如果你想在同一行代码上,有groupby,sum等等。好吧,他再次回答了,所以你可以删除你的答案,并接受他的答案为正确。好吧,他再次回答了,所以你可以删除你的答案,并接受他的答案为正确。谢谢你的答案,但现在它没有排序。我该如何按计数排序?@joshgallantt您可以将
.sort\u值(按class='Product')
添加到末尾谢谢您的回答,不过现在不会排序。如何按计数排序?@joshgallantt您可以在末尾添加
.sort\u值(按class='Product')