熊猫:如何同时使用groupby,求和和乘法

AerysS

我有一个DataFrame,如下所示:

shop | item_price  | item_sold
A    |    123      |     1
B    |    921      |     2
A    |     28      |     4
...

我想找到每个商店的总收入。在SQL中,它看起来像这样:

SELECT shop, SUM((item_price * item_sold)) as revenue
FROM table
GROUP BY shop

我想在Python中使用Pandas做到这一点。我试过了:

revenue_by_shop = table.groupby("shop")[table["item_price"] * table["item_sold"]].sum()

但这似乎不是正确的答案。

耶斯列尔

您可以将多个值Series传递给groupby Series并传递给groupby Series table["shop"]

df = ((table["item_price"] * table["item_sold"])
              .groupby(table["shop"])
              .sum()
              .reset_index(name='revenue'))

或创建新列,DataFrame.assign并将名传递shopgroupby

df = (table.assign(revenue = table["item_price"] * table["item_sold"])
           .groupby("shop", as_index=False)['revenue']
           .sum())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章