Python 3.x 如何在两个数据帧之间应用多逻辑条件?

Python 3.x 如何在两个数据帧之间应用多逻辑条件?,python-3.x,pandas,logic,Python 3.x,Pandas,Logic,我有两个这样的数据帧: df1 df2 我想创建以下逻辑: 1. check if email field in df2 is present in df1 if email address is present, then: 2. check if DatetimeCreated in df1 is greater than TODAY-90 days 如果两者都为TRUE,则不要将df2中的行追加到df1中 我正在这样做日期检查: from datetime import dateti

我有两个这样的数据帧:

df1

df2

我想创建以下逻辑:

1. check if email field in df2 is present in df1

if email address is present, then:

2. check if DatetimeCreated in df1 is greater than TODAY-90 days
如果两者都为TRUE,则不要将df2中的行追加到df1中

我正在这样做日期检查:

from datetime import datetime, timedelta
df1 = df1[df1.DateTimeCreated >= (datetime.today() - timedelta(90))]
boolean = session_final_101.EmailAddress.iat[0] in df3
我正在这样做电子邮件检查:

from datetime import datetime, timedelta
df1 = df1[df1.DateTimeCreated >= (datetime.today() - timedelta(90))]
boolean = session_final_101.EmailAddress.iat[0] in df3
我如何结合这两种说法

我试过这个:

if boolean == False:
    Winner_final = pd.concat([df1, df2], ignore_index=True,sort=False)

但是布尔变量总是假的,我不确定我做错了什么

df2.append(df1.loc[df1.email.isin(df2.email)&(df1.datetimecreated.ge(datetime.datetime.today()-datetime.timedelta(90))))
像这样?@anky_91谢谢你的回答,但是你的回答会将结果附加到我希望在两个条件都满足时不会追加的地方。好的,所以
df2.append(df1.loc[~df1.email.isin(df2.email)&(df1.datetimecreated.ge(datetime.datetime.today()-datetime.timedelta(90)))]
??@anky_91您的答案仍在追加。
df2.append(df1.loc[df1.email.isin(df2.email)和(df1.datetimecreated.ge(datetime.datetime.today()-datetime.timedelta(90)))
像这样?@anky_91谢谢你的回答,但是你的回答会将结果附加到我希望在两个条件都满足时不会附加的地方。好吧,那么
df2.append(df1.loc[~df1.email.isin(df2.email)和(df1.datetimecreated.ge(datetime.datetime.today()-datetime.timedelta(90)))
?@anky_91你的答案仍在附加。