【发布时间】:2019-01-02 18:02:44
【问题描述】:
我在 python 中使用 pands 来处理时间。 我想总结一下两个日期之间经过的时间,它们是:
0 2012-03-06 14:22:00
0 2012-06-02 11:29:00
1 2012-04-16 20:51:00
1 2012-04-28 09:57:00
为此,我计算前 2 个以 0 为索引的日期之间经过的时间,如下所示:
dt0 = df.end[0] - df.start[0]
out: 87 days 21:07:00
dtype: timedelta64[ns]
在接下来的两个日期之间也一样:
dt1 = df.end[1] - df.start[1]
out: 11 days 13:06:00
dtype: timedelta64[ns]
效果很好,但是当我将两次相加时:
dt2 = dt1 + dt0
我得到 dt2 = NaT 而不是 87 天 21:07:00 + 11 天 13:06:00 的总和。任何人都可以帮忙吗?
下面是同样问题的另一个例子的截图:a和b相加,两个dtype:timedelta64[ns]不起作用,为什么?
【问题讨论】:
-
抱歉,打错字了。是的!
-
我得到
Timedelta('99 days 10:13:00')?您可以在计算之前检查dt1和dt0以确保您没有覆盖它们吗? -
我确信 dt1 和 dt0 :/
-
我得到 dt2 = NaT
-
你能在求和之前尝试将
dt1和dt0明确重铸为np.timedelta64()吗?应该可以添加那些 numpy 对象...如果您收到dt2 = np.timedelta64(dt0) + np.timedelta64(dt1)错误,那么您应该尝试更新 numpy。
标签: python pandas datetime time