[英]Python groupby and delete certain rows only
AB C。 102 2019 年 12 月外观 102 2020 年 1 月 1 日韩元 102 2020 年 2 月 102 日存档 102 2020 年 3 月 101 日 2019 年 12 月外观 101 2020 年 1 月 101 2020 年 2 月韩元 101 2020 年 3 月
我想在某个 A 获胜时删除所有重复(记录/行),但仅当它保持在获胜时(A = 101)。 但如果它从韩元变成其他东西,那么我希望它在数据中。
结果:AB C。 102 2019 年 12 月外观 102 2020 年 1 月 1 日韩元 102 2020 年 2 月 102 日存档 102 2020 年 3 月已删除 101 2019 年 12 月外观 101 2020 年 1 月 1 日韩元
将boolean indexing
与Series.eq
和DataFrame.duplicated
with inverse mask by ~
的链式条件一起使用:
df = df[~(df.duplicated(['A','C']) & df['C'].eq('won'))]
print (df)
A B C
0 102 12/2019 looking
1 102 01/2020 won
2 102 02/2020 archived
3 102 03/2020 deleted
4 101 12/2019 looking
5 101 01/2020 won
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.