繁体   English   中英

Python groupby 并仅删除某些行

[英]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 indexingSeries.eqDataFrame.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM