小编Wil*_*amW的帖子

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

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

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

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

考虑以下数据框:

范例1:

isValid     value1   value2
True        50       50
True        19       19
False       48       40
Run Code Online (Sandbox Code Playgroud)

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

范例2:

isValid     value1   value2
False       50       50
False       19       19
False       48       40
Run Code Online (Sandbox Code Playgroud)

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

范例3:

isValid     value1   value2
True        50       50
False       19       19
True        48       40
Run Code Online (Sandbox Code Playgroud)

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

python dataframe pandas

5
推荐指数
1
解决办法
55
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1