Python 从groupby数据帧中删除组

Python 从groupby数据帧中删除组,python,pandas,Python,Pandas,我有一个较大的groupby数据帧和一个较小的ID列表,这些ID是该数据帧的子集。ID是组的名称。我想删除ID列表中不存在的所有组 我试过这个: for name, group in groups_copy: if name in ids: print "¯\_(ツ)_/¯" else: groups_copy.drop(groups_copy.loc[name]) 并出现此错误:AttributeError:无法访问“DataFrameGrou

我有一个较大的groupby数据帧和一个较小的ID列表,这些ID是该数据帧的子集。ID是组的名称。我想删除ID列表中不存在的所有组

我试过这个:

for name, group in groups_copy:
    if name in ids:
        print "¯\_(ツ)_/¯"
    else:
        groups_copy.drop(groups_copy.loc[name])
并出现此错误:
AttributeError:无法访问“DataFrameGroupBy”对象的可调用属性“drop”,请尝试使用“apply”方法


关于实现这一点的最佳方法的想法?

最简单的方法可能是在分组之前过滤掉它


df=df[df['groupby_column'].isin(ids)]

是的,我想知道是否有其他方法,因为id列表是根据我从groupbyHm获得的摘要数据构建的。如果可以查看每个组并计算(一组一组)是否要保留它,可以使用
df.groupby('col').filter
。否则,您只需先按groupby获取摘要数据,然后进行筛选,然后再按groupby。