数据框根据列的特定条件删除行 [英] dataframe drop rows based on specific conditions of columns

查看:44
本文介绍了数据框根据列的特定条件删除行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这里是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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆