【发布时间】:2019-03-31 15:00:36
【问题描述】:
我的 pandas 数据框有基于“col10”和“col1”的两级组。我想要做的是,如果另一列中的指定值重复 或该值在组中不存在(只保留指定值存在一次的组)例如:
-
原始数据框:
df = pd.DataFrame( {'col0':['A','A','A','A','A','B','B','B','B','B','B','B','c'],'col1':[1,1,2,2,2,1,1,1,1,2,2,2,1], 'col2':[1,2,1,2,3,1,2,1,2,2,2,2,1]})
我需要在原始 DF 中保留组的行,例如 (['A',1],['A',2],['B',2])
- 所需的数据框:
-
我尝试了这一步:
df.groupby(['col0','col1']).apply(lambda x: (x['col2']==1).sum()==1)
结果在哪里
col0 col1
A 1 True
2 True
B 1 False
2 True
c 1 False
dtype: bool
如何根据这个 bool 创建想要的 Df?
【问题讨论】:
标签: pandas pandas-groupby drop-duplicates