Python - 双条件 data.loc

标签 python pandas pandas-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 和 Value2>=100

的行

为此,我使用以下命令:

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

这会返回一个空的 DataFrame。我不太明白为什么,因为当我单独使用时:

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

或:

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

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

最佳答案

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

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

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

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

输出

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

关于Python - 双条件 data.loc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50735669/

相关文章:

python - 使用正则表达式条件列表理解

python - 使用 loc 在 pandas 数据框中设置值 - 多个选择条件允许在不同列中设置值

python - ImportError : libcublas. so.8.0: 无法打开共享对象文件: 没有这样的文件或目录 (Shared Linux)

python - 为什么 Pandas Dataframe.where 方法在调用 dropna() 后返回 NaN?

python - 在 python 中计算大型 numpy 数组的速度和加速度

python - pandas,python,excel,在 df 1 的列中搜索子字符串以将字符串写入 df2 的列

python pandas loc - 过滤值列表

python - loc 获取不带 .index[0] 的索引

python - 如何设置和保持最小宽度?

python - 类型错误 : can only concatenate tuple (not "str") to tuple in python