我有以下数据框:
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)
它返回更正后的值。有谁知道如何实现这两个条件选择?
对于您的实际输入,正确的输出为空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)