首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在datetime、Timestamp和datetime64之间转换

在datetime、Timestamp和datetime64之间转换
EN

Stack Overflow用户
提问于 2012-12-04 21:08:30
回答 10查看 583K关注 0票数 376

如何将numpy.datetime64对象转换为datetime.datetime (或Timestamp)?

在下面的代码中,我创建了datetime、timestamp和datetime64对象。

代码语言:javascript
复制
import datetime
import numpy as np
import pandas as pd
dt = datetime.datetime(2012, 5, 1)
# A strange way to extract a Timestamp object, there's surely a better way?
ts = pd.DatetimeIndex([dt])[0]
dt64 = np.datetime64(dt)

In [7]: dt
Out[7]: datetime.datetime(2012, 5, 1, 0, 0)

In [8]: ts
Out[8]: <Timestamp: 2012-05-01 00:00:00>

In [9]: dt64
Out[9]: numpy.datetime64('2012-05-01T01:00:00.000000+0100')

注意:从时间戳中获取日期时间很容易:

代码语言:javascript
复制
In [10]: ts.to_datetime()
Out[10]: datetime.datetime(2012, 5, 1, 0, 0)

但是我们如何从numpy.datetime64 (dt64)中提取datetimeTimestamp呢?

更新:在我的数据集中有一个有点令人讨厌的例子(也许是鼓舞人心的例子),似乎是:

代码语言:javascript
复制
dt64 = numpy.datetime64('2002-06-28T01:00:00.000000000+0100')

它应该是datetime.datetime(2002, 6, 28, 1, 0),而不是一个长的(!) (1025222400000000000L)...

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13703720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档