2015-04-06 102 views
1

對於下面的數據幀(DF),我做FOLL操作:丟棄組大熊貓GROUPBY操作

import pandas as pd 
def fun(group): 
    if(group.A.min() > 0.0): 
     # discard the group 
     return 
    else: 
     return group 

df.groupby('cokey').apply(fun) 

cokey  A B 
11168155 0 18 
11168155 18 56 
11168155 56 96 
11168155 96 152 
11168324 76 86 
11168324 86 152 

是否有大熊貓更好的方式GROUPBY操作過程中丟棄一組

回答

1

剛應用filter

In [7]: 

df.groupby('cokey')[['A','B']].filter(lambda x: x['A'].min() > 50) 
Out[7]: 
    A B 
4 76 86 
5 86 152 
你的情況

所以只是做:

df.groupby('cokey')[['A','B']].filter(lambda x: x['A'].min() <= 0)