Python - 双条件 data.loc

ste*_*eve 2 python loc pandas

我有以下数据框:

Date     Value1   Value2
01-01-01     01       01
02-01-01     02       00
03-01-01     03       01
04-01-01     04      101
Run Code Online (Sandbox Code Playgroud)

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

为此,我使用以下命令:

data.loc[(data['Value2'] == 0) & (data['Value2'] >= 100)]
Run Code Online (Sandbox Code Playgroud)

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

data.loc[(data['Value2'] == 0)]
Run Code Online (Sandbox Code Playgroud)

或者:

data.loc[(data['Value2'] >= 100)
Run Code Online (Sandbox Code Playgroud)

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

Mih*_*nut 5

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

(data['Value2'] == 0) & (data['Value2'] >= 100)
Run Code Online (Sandbox Code Playgroud)

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

(data['Value2'] == 0) | (data['Value2'] >= 100)
Run Code Online (Sandbox Code Playgroud)

输出

    Date     Value1   Value2
02-01-01     02       00
04-01-01     04      101
Run Code Online (Sandbox Code Playgroud)