Python 丢弃groupby操作中的组

Python 丢弃groupby操作中的组,python,pandas,Python,Pandas,对于以下数据帧(df),我正在执行以下操作: 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

对于以下数据帧(df),我正在执行以下操作:

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

pandas中是否有更好的方法在groupby操作期间丢弃组

只需应用
过滤器

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)
df.groupby('cokey')[['A','B']].filter(lambda x:x['A'].min()