我有一个大的groupby数据帧和一个较小的id列表,它们是该数据帧的子集。 ID是组的名称。我想删除所有不在ID列表中的组。
我试过了:
for name, group in groups_copy:
if name in ids:
print "¯\_(ツ)_/¯"
else:
groups_copy.drop(groups_copy.loc[name])
并收到此错误:AttributeError: Cannot access callable attribute 'drop' of 'DataFrameGroupBy' objects, try using the 'apply' method
关于实现这一目标的最佳方法的想法?
答案 0 :(得分:2)
最简单的方法可能是在分组之前将其过滤掉。
df = df[df['groupby_column'].isin(ids)]