尝试筛选数据以仅显示一周内的日期时出错

2024-06-24 13:25:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过读取三个文件创建了这个df

        SUBREF   SAMPNUM  ... WORKTABLELOGDATE EXPORTED
30     C468633  10552705  ...       2020-06-09      NaN
44     C649747  20380271  ...       2020-06-16      NaN
112    P026530  50482919  ...       2020-04-29      NaN
113    P026530  50482920  ...       2020-04-29      NaN
140    C055419  50485482  ...       2020-05-12      NaN
...        ...       ...  ...              ...      ...
15308  C725492  99036976  ...       2020-04-27      NaN
15318  S714508  99037098  ...       2020-06-18      NaN
15319  S714508  99037098  ...       2020-06-18      NaN
15320  S714508  99037100  ...       2020-06-18      NaN
15321  S714508  99037100  ...       2020-06-18      NaN

使用此代码

WORKTABLE = pd.read_excel('C:/WORKTABLE.XLS', usecols =['SUBREF','SAMPNUM','DET','LOGDATE','SUITE', 'SECTION'], converters= {'LOGDATE': pd.to_datetime})
SAMPLESTABLE = pd.read_excel('C:/SAMPLESTABLE.XLS', usecols = ['SUBREF','SAMPNUM', 'LOCATION','LOGDATE','COMPDATE','REPDATE'], converters = {'EXPORTED': pd.to_datetime})
CBSEXTERNAL = pd.read_excel('C:/Users/CBSEXTNL.XLS', usecols = ['SUBREF','EXPORTED'])
DF3 = pd.merge(left = SAMPLESTABLE, right = WORKTABLE, how='outer', on=['SAMPNUM','SUBREF'])
DF3.rename(columns={'LOGDATE_x':'SAMPLETABLELOGDATE','LOGDATE_y':'WORKTABLELOGDATE'}, inplace=True)
DF3 = DF3[['SUBREF','SAMPNUM','LOCATION','SECTION','DET','SUITE','SAMPLETABLELOGDATE','WORKTABLELOGDATE','COMPDATE','REPDATE','WORKTABLELOGDATE']]
DF4 = pd.merge (left = DF3, right = CBSEXTERNAL, how='outer', on=['SUBREF'])

我要做的是过滤col WORKTABLELOGDATE,以显示任何超过7天的内容。我尝试过各种方法,但最后总是出错

FutureWarning: Comparing Series of datetimes with 'datetime.date'.  Currently, the
'datetime.date' is coerced to a datetime. In the future pandas will
not coerce, and a TypeError will be raised. To retain the current
behavior, convert the 'datetime.date' to a datetime with
'pd.Timestamp'.

ValueError: cannot reindex from a duplicate axis

我尝试的是

DF7SEROLOGY = DF7SEROLOGY[DF7SEROLOGY['WORKTABLELOGDATE'] < weekago]

我已经使用

DF4.reset_index(drop=True)

但这没有任何帮助

我做错了什么

使用今天的as 23/06/20,预期输出符合要求

        SUBREF   SAMPNUM  ... WORKTABLELOGDATE EXPORTED
30     C468633  10552705  ...       2020-06-09      NaN
140    C055419  50485482  ...       2020-05-12      NaN


Tags: thetoreaddatetimenanexcelpdexported