根据 OR 条件选择数据框行

时间:2021-06-16 02:19:32

标签: python dataframe

我有一个 df 数据框,其中有一列名为“Move”,我只想保留 Move 为“Right”或“Left”的行。

但这不起作用:

df = df[df.Move == 'Right' or df.Move == 'Left']

这两者都没有:

moves = ['Right','Left']
df = df[df.Move in moves]

你知道如何做这样的事情吗?

2 个答案:

答案 0 :(得分:2)

我认为您缺少括号,请尝试使用此

df = df.loc[(df.Move == "Right") & (df.Move == "Left")]

答案 1 :(得分:0)

欢迎来到 Pandas 的试错世界:-)

df = df[(df.Move == 'Right') | (df.Move == 'Left')]

TLDR的解释;

  • 掩码是布尔值 Series,因此受按位运算符 OR |、AND & 和 NOT/XOR ^ 约束

来自 StackOverflow 的回答:https://stackoverflow.com/a/64939034/206413

已编辑:子句的括号

相关问题