我有一个数据集,其中可能包含重复的标识符记录appkey
。理想情况下,重复的记录不应该存在,因此我认为它们是数据收集错误。我需要删除一个的所有实例appkey
这种情况发生不止一次。
The drop_duplicates
方法在这种情况下没有用(或者是吗?),因为它选择第一个或最后一个重复项。有没有任何明显的习惯用法可以用 pandas 来实现这一点?
从 pandas 0.12 版本开始,我们有filter
为了这。它的作用正是@Andy's解决方案所做的transform
,但更简洁,更快。
df.groupby('AppKey').filter(lambda x: x.count() == 1)
盗用@Andy的例子,
In [1]: df = pd.DataFrame([[1, 2], [1, 4], [5, 6]], columns=['AppKey', 'B'])
In [2]: df.groupby('AppKey').filter(lambda x: x.count() == 1)
Out[2]:
AppKey B
2 5 6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)