2016-06-28 129 views
4

上有输入数据框大熊猫:下降大熊猫基于GROUPBY数据框行()条件

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 

我需要的是从来没有在特定的商店被出售的物品掉落的所有行:对(1,1 ),(3,1)的(STORE_ID,ITEM_ID)在数据帧

我希望输出如下:

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 

我已经想通了如何使用发现需要对,但坚持从最初的数据框中删除它们

回答

5

是你想要的吗?

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 
+0

正是!谢谢 –

+0

@SashaKorekov,不客气! :) – MaxU

+0

多么美丽的答案 – Aaron