比较两个 numpy.datetime64 的日期部分的正确方法是什么?
A: 2011-01-10 Type: <type 'numpy.datetime64'>
B: 2011-01-10T09:00:00.000000-0700 Type: <type 'numpy.datetime64'>
上面的示例将通过比较 (A == B) 返回 false
比较两个 numpy.datetime64 的日期部分的正确方法是什么?
A: 2011-01-10 Type: <type 'numpy.datetime64'>
B: 2011-01-10T09:00:00.000000-0700 Type: <type 'numpy.datetime64'>
上面的示例将通过比较 (A == B) 返回 false
在比较之前,您需要通过指定“datetime64[D]”数据类型来去除 datetime64 的时间信息,如下所示:
>>> a = numpy.datetime64('2011-01-10')
>>> b = numpy.datetime64('2011-01-10T09:00:00.000000-0700')
>>> a == b
False
>>> a.astype('datetime64[D]') == b.astype('datetime64[D]')
True
顺便说一句,我无法让 numpy从您在上面datetime64[D]
给出的字符串中创建一个值数组。b
我收到了这个错误:
>>> b = numpy.array(['2011-01-10T09:00:00.000000-0700'], dtype='datetime64[D]')
TypeError: Cannot parse "2011-01-10T09:00:00.000000-0700" as unit 'D' using casting rule 'same_kind'