You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

numpy.datetime64日期相减结果含义的技术疑问

numpy.datetime64相减结果的数值含义解析

第一个案例:日期相减得到numpy.timedelta64(70,'Y')

你执行的代码:

import numpy as np

np.datetime64('20230901') - np.datetime64('20230831')

这个70是无意义的错误值,问题出在你传入的纯数字日期没有明确单位,numpy自动推断存储单位时逻辑出错——它没识别出这是天级别的日期,反而错误以年份为存储单位,导致计算结果完全不符合实际(实际应为1天)。

解决方式:给日期明确指定单位,比如写成np.datetime64('20230901', 'D')和np.datetime64('20230831', 'D')相减,就能得到正确的numpy.timedelta64(1,'D')。

第二个案例:日期相减得到numpy.timedelta64(840,'M')

执行的代码:

import numpy as np

np.datetime64('20230901-01') - np.datetime64('19700101-01')

这个结果是准确的,840代表两个日期之间的月份差:

  • 从1970年1月到2023年9月,总计53年零8个月,计算得:53*12 + 8 = 840个月,和结果完全匹配。
  • 这里numpy正确识别了带分隔符的日期格式,自动以月份为存储单位,因此算出的是精准的月份差值。

内容的提问来源于stack exchange,提问作者Mauro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:07:15