基于条件合并DataFrames datetime64

问题描述:

我想在日期窗帘条件下合并2个Dfs。基于条件合并DataFrames datetime64

DF 1: enter image description here

DF2: enter image description here

比方说,今天是2015-01-12,我想要做的是对具有first_activity日期早于10每clienthostid今天天前从DF2被排除,所以在这里的例子我会留下,如果DF2有: enter image description here

我试着这样做:首先合并2 DF:

temp = pd.merge(df1, df2, on='clienthostid', how='inner') 

,然后尝试根据条件删除:

temp = temp[temp.First_activity + 10 < today] 

,我得到这个错误:

TypeError: cannot operate on a series without a rhs of a series/ndarray of type datetime64[ns] or a timedelta

First_activity今天是datetime64 ...

我并不熟悉sql,python和pandas(总结一切,我猜:)), 但我有一个任务来实现这个很抱歉如果问题愚蠢。

我想你需要转换to_timedelta int值或使用offsets

today = pd.datetime.today().date() 
temp = temp[temp.First_activity < today - pd.to_timedelta(10, unit='d')] 

或者:

temp = temp[temp.First_activity < today - pd.offsets.Day(10)]