输入中有一个pandas数据帧:
store_id item_id items_sold date
1 1 0 2015-12-28
1 2 1 2015-12-28
1 1 0 2015-12-28
2 2 0 2015-12-28
2 1 1 2015-12-29
2 2 1 2015-12-29
2 1 0 2015-12-29
3 1 0 2015-12-30
3 1 0 2015-12-30
我需要删除所有在特定商店中从未销售的商品的行:数据框中的(store_id,item_id)对(1,1),(3,1)
我期望的输出如下:
store_id item_id items_sold date
1 2 1 2015-12-28
2 2 0 2015-12-28
2 1 1 2015-12-29
2 2 1 2015-12-29
2 1 0 2015-12-29
我已经找到了如何使用pd.groupby()[].sum()找到所需的(store_id,item_id)对,但是坚持从初始数据帧中删除它们
解决方法:
那是你要的吗?
In [30]: df[df.groupby(['store_id', 'item_id'])['items_sold'].transform('sum') > 0]
Out[30]:
store_id item_id items_sold date
1 1 2 1 2015-12-28
3 2 2 0 2015-12-28
4 2 1 1 2015-12-29
5 2 2 1 2015-12-29
6 2 1 0 2015-12-29
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。