【发布时间】:2018-05-20 20:32:00
【问题描述】:
我需要将 numpy.datetime64('NaT') 值转换为 Pandas datetime 值。我使用下面 Gord Thompson 的解决方案来转换 numpy.datetime64 值。
def dt64_to_datetime(dt64):
unix_epoch = np.datetime64(0, 's')
one_second = np.timedelta64(1, 's')
seconds_since_epoch = (dt64 - unix_epoch) / one_second
return datetime.utcfromtimestamp(seconds_since_epoch)
示例用法:
for value in df[col].values: ##Convert each np.datetime64 value in DF column to Pandas datetime
dt = dt64_to_datetime(value)
当函数达到np.datetime64('NaT') 值时,会显示以下错误:OSError: [Errno 22] Invalid argument.
如何将 np.datetime64('NaT') 值转换为 Python datetime 值?
编辑/更新:
我正在尝试将 np.datetime64('NaT') 值转换为 Python datetime 值,因为研究表明这可以帮助我将 DataFrame 列中的值上传到 MS Access 表中。 我该怎么做?
【问题讨论】:
-
它们不是 pandas 日期时间值,而是来自模块
datetime。问题是您为什么要首先进行转换,以及您打算如何处理下游代码中的缺失值(NaT= Not a Time)。 -
@Alexander - 我的意思是将
np.datetime64('NaT')值转换为 Pythondatetime值。我打算将 Dataframe 列中的值上传到 MS Access 表中。
标签: python python-3.x pandas numpy datetime