Pandas按两列分组并相乘另外两列

13

我有一个按照以下方式分组的数据框:

                      price      quantity   vat
date      brand
20-Jun-13 Reebok         7.0         8    2.2
          Adidas        12.0         3    3.8
          Campus         2.5        38    4.2
          Woodlands     23.0         9    7.2
          Boot           3.2        35    3.3
21-Jun-13 Reebok         7.0         6    2.2
          Adidas        12.0        23    3.8
          Campus         2.5        18    4.2
          Woodlands     23.0        29    7.2
          Boot           3.2        15    3.3
22-Jun-13 Reebok         5.0         2    3.5
          Adidas        10.0         5    2.8
          Campus         2.0        50    3.5
          Woodlands     25.0         4    6.5
          Boot           2.5        10    2.8
我如何按'date''brand'进行分组,并将'price''quantity'相乘以计算销售额?我尝试过:print data2.groupby(['date','brand'])['price'] * ['quantity'],但我想要按日期计算总销售额。
1个回答

10

您的数据已经按日期和品牌分组,那为什么不创建一个新的销售列呢:

df['sales'] = df['price'] * df['quantity']

data2.groupby(['date'])['sales'].sum() 这个对你有意义吗,安迪? - richie
这将获取每日销售额,而按品牌分组将获得品牌总销售额 :) - Andy Hayden
2
对我来说不起作用:TypeError: 不支持的操作数类型 *:'SeriesGroupBy' 和 'SeriesGroupBy' - phasselmann
@phasselmann,您可以对Series进行乘法运算(就像上面的例子中,其中do是一个DataFrame),但不能对SeriesGroupBy对象进行乘法运算...请提出一个新问题! - Andy Hayden

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接