python - 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)
它返回更正后的值。有谁知道如何实现这两个条件选择?
解决方案
对于您的实际输入,正确的输出为空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
推荐阅读
- ssl - 使用 Cloudflare 的共享 SSL 时,应如何在 Google 的 API 下列出 HTTP?
- javascript - 如何更新数组中所有对象的键
- mysql - 如何使用现有表中的列创建新表?
- jenkins-pipeline - Jenkins 中的 Terraform 远程状态
- java - 将单词转换为字符整数表示的总和
- c++ - std::copy 行为和指针算法
- javascript - 刽子手游戏只匹配第一个字符,而不是所有字符
- c# - 我如何为 DryIOC 中的开放泛型“注册委托”?
- node.js - 使用 Firebase Cloud Functions 中的 Google Cloud Compute Engine REST API
- swift - 当我尝试在 Swift 中访问粒子文件时,我的代码出现致命错误