首页 > 解决方案 > Python - 双重条件 data.loc

问题描述

我有以下数据框:

Date     Value1   Value2
01-01-01     01       01
02-01-01     02       00
03-01-01     03       01
04-01-01     04      101

在此数据框中,我只想选择具有Value2==0 and Value2>=100

为此,我使用以下命令:

data.loc[(data['Value2'] == 0) & (data['Value2'] >= 100)]

这给我一个空的DataFrame。我真的不明白为什么,因为当我单独使用时:

data.loc[(data['Value2'] == 0)]

或者:

data.loc[(data['Value2'] >= 100)

它返回更正后的值。有谁知道如何实现这两个条件选择?

标签: pythonpandaspandas-loc

解决方案


对于您的实际输入,正确的输出为空DataFrame。条件

(data['Value2'] == 0) & (data['Value2'] >= 100)

不能同时为。请改用or运算符。

(data['Value2'] == 0) | (data['Value2'] >= 100)

输出

    Date     Value1   Value2
02-01-01     02       00
04-01-01     04      101

推荐阅读