【发布时间】:2019-11-06 07:54:44
【问题描述】:
您好,我正在尝试根据三列进行分组,然后对第四列进行聚合/总和。我只对 Mo_Year 列(float)为 10.2019、11.2019 和 12.2019 感兴趣并汇总最后一列 Amount 的总和。
我尝试使用 goupby 进行过滤,如下所述。 Mo_Year 的过滤没有发生。
示例数据集如下
Name Mo_Year Item Amount
A1 10.2019 cat 60
A2 1.2019 dog 40
A3 12.2019 cat 10
A4 3.2019 dog 30
A5 4.2019 cat 10
A1 10.2019 dog 50
A2 11.2019 cat 30
A3 3.2019 cat 20
A4 10.2019 dog 10
A5 11.2019 cat 70
df_test = df1.groupby(['Name','Mo_Year', 'Item']).filter(lambda x: (x['Mo_Year'] == 10.2019).any() & (x['Mo_Year'] == 12.2019).any())
有人可以帮忙吗?谢谢。
【问题讨论】:
-
预期输出是什么?
-
Mo_Year是浮点型。 -
好的,你能补充一下最终数据框的外观吗?
-
对不起,我刚刚编辑了我的 Header ``` Name Mo_Year Item Amount```
标签: python-3.x pandas dataframe aggregate