【问题标题】:Trying to subtract a column of dates to another date试图将一列日期减去另一个日期
【发布时间】:2019-03-19 17:24:27
【问题描述】:

我有日期:

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: Subtracting two date columns and the result being an integer

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

我怎样才能得到想要的输出?

【问题讨论】:

  • 能否提供您的错误的完整追溯?

标签: python pandas numpy datetime


【解决方案1】:

您可以尝试Timestamp.floor 删除时间并将时间增量转换为天数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

【讨论】:

  • 感谢您的回复,但我不明白为什么它继续输出相同的错误。
  • @ge00rge - 很难的问题,对我来说它在numpy: 1.14.2下工作得很好
  • @ge00rge 我有 numpy 版本 1.15.2 并且提供的解决方案适用于我
  • 我可以得到输出,我认为问题必须是我必须升级的旧版本的熊猫,谢谢你们!
猜你喜欢
  • 1970-01-01
  • 2013-08-12
  • 1970-01-01
  • 2015-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-11
  • 2021-03-28
相关资源
最近更新 更多