Python 基于布尔逻辑的多条件数据帧过滤

Python 基于布尔逻辑的多条件数据帧过滤,python,pandas,dataframe,Python,Pandas,Dataframe,如果end\u date为Nan或end\u date大于当前日期,我将尝试根据以下条件筛选数据帧。 我该怎么做呢? 我正在使用以下代码,我知道|和&运算符是串联运算符 end_series = ((~df.end_date.notna()) | (df.end_date > datetime.datetime.utcnow().date())) new_df = df[(df.column1 > 0) & end_series].copy() 你可以做: curren

如果
end\u date
Nan
end\u date
大于当前日期,我将尝试根据以下条件筛选数据帧。 我该怎么做呢? 我正在使用以下代码,我知道
|和&
运算符是串联运算符

end_series = ((~df.end_date.notna()) | (df.end_date > datetime.datetime.utcnow().date()))
new_df = df[(df.column1 > 0)  &  end_series].copy()
你可以做:

current_date = pd.to_datetime("today").date()
new_df = df.query("end_date.isna() or (end_date > @current_date) and column1 > 0")
你可以做:

current_date = pd.to_datetime("today").date()
new_df = df.query("end_date.isna() or (end_date > @current_date) and column1 > 0")