首页 > 解决方案 > 试图将一列日期减去另一个日期

问题描述

我有日期:

dateTo=pd.to_datetime('today').strftime('%Y-%m-%d')

我想减去dateTo日期列:

       number      dates      coord
AC      10      2018-07-10     11.54
AC      10      2018-07-11     11.19
AN       5      2018-07-12     69.40

所需的输出将是一个df['datepond']带有减法输出的新列。我希望这个输出是整数。

我尝试的是Pandas 给出的响应:减去两个日期列,结果是一个整数

df['datepond']=(pd.Timestamp(dateTo)-pd.to_datetime(df['dates']))/ np.timedelta64(1, 'D')

在 numpy 1.12.1 版本中它工作得很好但我现在在 numpy 1.15.2 并且它输出

TypeError: data type "datetime" not understood

我怎样才能获得所需的输出?

标签: pythonpandasnumpydatetime

解决方案


您可以尝试Timestamp.floor删除时间并将 timedeltas 转换为天数Series.dt.days

df['datepond']= (pd.to_datetime('today').floor('d') - pd.to_datetime(df['dates'])).dt.days
print (df)
    number       dates  coord  datepond
AC      10  2018-07-10  11.54        97
AC      10  2018-07-11  11.19        96
AN       5  2018-07-12  69.40        95

推荐阅读