当前位置: 首页 > 知识库问答 >
问题:

用`or`b布尔值查询数据帧?[副本]

刘曾琪
2023-03-14

我有一个简单的熊猫数据框架。

import pandas as pd    
x = [5, 10, 20, 30, 5, 10, 20, 30, 5, 10, 20, 30]
y = [100, 100, 200, 200, 300, 300, 400, 400, 500, 500, 600, 600]
users =['mark', 'mark', 'mark', 'rachel', 'rachel', 'rachel', 'jeff', 'jeff', 'jeff', 'lauren', 'lauren', 'lauren']

df = pd.DataFrame(dict(x=x, y=y, users=users)

我想保留数据帧的某些行。让我们说所有的“瑞秋”和“杰夫斯”。我尝试了df.query

df=df.query('users=="rachel"' or 'users=="jeff"')

结果是只有用户=="rachel"的数据帧。有没有组合查询的方法?

共有2个答案

梁丘波鸿
2023-03-14

另一种方式是:

df=df.query('users=="rachel"').append(df.query('users=="jeff"'))
田兴朝
2023-03-14

标准的方法是使用按位或运算符|。为了清楚地解释原因,我建议看看这个答案。由于Python的计算顺序,您还需要在每个条件周围使用括号。

df[(df.users == 'rachel') | (df.users == 'jeff')]
    users   x    y
3  rachel  30  200
4  rachel   5  300
5  rachel  10  300
6    jeff  20  400
7    jeff  30  400
8    jeff   5  500

使用查询,您仍然可以使用or运算符:

df.query("users=='rachel' | users=='jeff'")
    users   x    y
3  rachel  30  200
4  rachel   5  300
5  rachel  10  300
6    jeff  20  400
7    jeff  30  400
8    jeff   5  500
 类似资料:
  • 问题内容: 我有一个带有三个字段(userId,标题,描述)的索引对象。我想找到标题或说明包含给定关键字的特定用户的所有对象。 我有这样的事情(但这显然是错误的): 如何修改代码以获取具有正确ID和标题或描述中的搜索短语的所有对象? 问题答案: 我认为将是这样的:

  • 我在这里遵循指南https://dzone.com/articles/23-usplient-ellasticsearch-example-queries,下面的bool查询让我感到困惑: 根据教程,查询的解释是: 搜索标题中有“ellasticsearch”或“solr”字样的书,由“Clinton Gormley”撰写,但不由“Radu Gheorge”撰写 我的问题是,bool查询中有3个条

  • 我使用bool查询的必须和must_not功能。它像预期的那样工作,直到我得到一个3级深的属性。 工作正常并返回结果,但如果我在bool查询中执行相同的操作,如。。 不返回任何结果。这是为什么?????记住其他bool查询,例如。。 干得很好!它只适用于任何3级深的字段,因此搜索任何1级深的术语。建议3。建议3

  • 我对Bool查询和在elasticsearch中查找精确值有点困惑。具体来说,我有一个title_field和post_field,我想搜索。但是我使用的所有其他字段,因为我想查找它们是否存在或不存在,或者有多少次(如网址或用户名,必须是准确的)。 因此,我可以从文档中看到,我可以对title_字段和post_字段进行多重匹配查询。 但我希望得到确切答复的其他领域呢?我是否执行布尔查询(使用mus

  • 我在ES中有两个问题。对于同一组文档,两者的周转时间都不同。两者在概念上都在做同样的事情。我没有什么疑问 1-这两者之间有什么区别?2-哪个更好使用?3-如果两者相同,为什么表现不同? 映射: 更新1: 我在同一组数据上尝试了bool/必须查询和bool/过滤器查询,但我发现了奇怪的行为 1-bool/必须查询能够搜索所需的文档 2-虽然bool/filter无法搜索文档。如果我删除第二个字段条件

  • 我正在从事一项与react基于本机应用程序的用户管理相关的任务。在他们成功注册为用户后,我添加了一个存储布尔值的数据,并将其命名为emailVerifiedAccount(如果他们成功注册,这是存储的数据,如果他们单击发送给他们的电子邮件验证链接,则表明他们是否为验证用户)。在登录屏幕中,我想检查我在onAuthStateChanged中从firestore获得的布尔值,并且仅当我获得的email