首页 > 解决方案 > 比较多个条件时如何仅获得一个布尔值?

问题描述

我正在使用此代码来比较数据帧之间的多个条件:

    boolean = df1.EmailAddress.isin(df2.Email) & df2.DateTimeCreated.ge(datetime.today() - timedelta(90))

变量输出变成一个系列,选择“False”,如下所示:

0
False
False

但是,当我独立运行这两个条件时,它们会输出到True,这是我正在寻找的正确答案。为什么两个条件都默认为False?我如何只取回一个结果?例如True

标签: python-3.xpandasboolean

解决方案


pandas&(and)index敏感的,因为您的第一个条件是 from df1(将与index相同df1),而第二个条件是 fromdf2将与 相同indexdf2这将使答案连线。

cond1=df1.EmailAddress.isin(df2.Email)
cond2=df2.DateTimeCreated.ge(datetime.today() - timedelta(90))

使固定

cond1=df1.EmailAddress.isin(df2.Email)
cond2=df1.DateTimeCreated.ge(datetime.today() - timedelta(90))#change df2 here to df1

推荐阅读