【问题标题】:Subtracting dates and only take out number of days as number减去日期,只取出天数作为数字
【发布时间】:2020-08-31 14:43:09
【问题描述】:
 #Under d.types i can confirm they are both datetime objects
 date1      datetime64[ns]
 date2      datetime64[ns]

 df_test['snaptoexpectedStart'] = df['date1'] - df['date2']
 TypeError: '<' not supported between instances of 'str' and 'int'

当我试图减去的两列都采用正确的格式时,我不明白为什么会出现该错误。

【问题讨论】:

标签: python datetime


【解决方案1】:

我想这与我想的日期时间格式有关,尝试以这种方式投射,看看它是否有效:

from datetime import datetime
df_test['snaptoexpectedStart'] = datetime(df['date1']) - datetime(df['date2'])

如果您只想获取天数,请尝试以下操作:

df_test['snaptoexpectedStart'] = (df_test['date1'] - df_test['date2Date']).dt.days

【讨论】:

  • 现在我收到以下错误:( TypeError: cannot convert the series to
  • 我也试过了,不幸的是它给了我同样的错误
【解决方案2】:

您可能想查看timedelta 类: 根据 API,减去两个日期时间(假设它们是 datetime.datetimes)会得到一个 timedelta 对象。然后,您可以使用timedelta.day 属性来获取天数差异。

【讨论】:

    猜你喜欢
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多