2016-06-28 128 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