比较两个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答案 0 :(得分:1)
您希望在比较之前删除日期时间64的时间信息,方法是指定&#39; datetime64 [D]&#39;数据类型,如下所示:
>>> 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
顺便说一下,从上面为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'