【发布时间】:2020-03-18 16:41:37
【问题描述】:
伙计们。我在 DataFrame 中的两个 Datetime 列之间进行了算术运算,产生了以下结果:
28 days 15:16:53
7 days 13:12:31
334 days 01:04:46.123501
376 days 09:45:21.546136
-1 days +23:56:21.954750
-1 days +23:59:40.110747
当我尝试将它放入一个 numpy 数组时,它变成了纳秒:
array([ 2474213000000000, 652351000000000, 28861486123501000, ...,
-218045250000, -19889253000, 673953486963000],
dtype='timedelta64[ns]')
当我尝试使用此数组绘制直方图时,出现以下错误:
TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
我需要把它变成一个更易于管理的时间单位,这样我就可以制作一个数组,然后制作直方图。谢谢!
【问题讨论】:
-
问题是 dtype='timedelta64[ns]' .(hist) 函数使用了一些无法处理 timedelta64[ns]' 的函数(例如:isnan)所以你可以简单地改变类型到 (dtype = 'float64')
-
请提供minimal reproducible example,以及完整的错误消息。
标签: python numpy datetime timedelta