当前位置:  开发笔记 > 编程语言 > 正文

仅当另一个列值为True时比较两个或多个列值

如何解决《仅当另一个列值为True时比较两个或多个列值》经验,为你挑选了1个好方法。

仅当另一个列值为True时,才如何比较两个(或更多列)值。理想情况下,输出将只是True(如果一切都正确匹配),否则为False。

这样的事情:df['value1'].equals(df['value2'])但仅当df ['isValid']为true时。

抱歉,如果这是一个愚蠢的问题,我是熊猫的初学者...

考虑以下数据框:

范例1:

isValid     value1   value2
True        50       50
True        19       19
False       48       40

输出应为:True(记录一和两次匹配),并且“ isValid”列为True(这意味着我们必须比较值)

范例2:

isValid     value1   value2
False       50       50
False       19       19
False       48       40

输出应为True(无需进行比较,那么就没错了)

范例3:

isValid     value1   value2
True        50       50
False       19       19
True        48       40

输出应为False(因为记录3的value1和value2不同)



1> WeNYoBen..:

我会做

df.eval('value1==value2')[df.isValid].all()

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有