数据框根据列的特定条件删除行 [英] dataframe drop rows based on specific conditions of columns
本文介绍了数据框根据列的特定条件删除行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这里是df的一部分:
NUMBER MONEY
12345 20
12345 -20
123456 10
678910 7.6
123457 3
678910 -7.6
我想删除行号相同但钱相反的行。
I want to drop rows which have the same NUMBER but opposite money.
理想的结果如下:
NUMBER MONEY
123456 10
123457 3
推荐答案
尝试一下,
>>> df[~df.assign(MONEY=df.MONEY.abs()).duplicated(keep=False)]
输出:
NUMBER MONEY
2 123456 10.0
4 123457 3.0
来自评论(@piRSquared) :
From comments(by @piRSquared):
通过使用assign,在 df
中添加了新列,并随后添加了 drop_duplicates
同时考虑了 NUMBER
和 MONEY
By using assign, a new column was added to df
and the subsequent drop_duplicates
takes into account both NUMBER
and the absolute value of MONEY
df [〜df.assign(MONEY = df.MONEY.abs())。duplicated(keep = False)]
这篇关于数据框根据列的特定条件删除行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文