pandas 使用分隔条件语句|运算元

x0fgdtte  于 2022-12-16  发布在  其他
关注(0)|答案(2)|浏览(81)

我正在尝试用这两个条件语句生成一个 Dataframe 。|操作数或"or“操作数来分隔条件语句。条件语句没有问题,因为当我单独运行它们时,它们工作正常。是否有其他方法可以分隔这些条件语句?
我的代码:

df = df2[(df2['TABNo'] == 0) & ~df2['IsBarrierTrial']] | df2[(df2['Position'] == 0)]
print(df)

错误:

TypeError: unsupported operand type(s) for |: 'float' and 'bool'
z0qdvdin

z0qdvdin1#

重申你的陈述:

df = (
    df2[
        (df2["TABNo"] == 0)
        & ~df2["IsBarrierTrial"]
    ]
    | df2[(df2["Position"] == 0)]
)

看起来你真的在找

df = df2[
    (df2["TABNo"] == 0)
    & (~df2["IsBarrierTrial"])
    | (df2["Position"] == 0)
]

以选择一堆项目而不是具有一个嵌套的df2索引。

uajslkp6

uajslkp62#

使用or/and代替&/|,并检查错误是否已解决。

相关问题