Pandas to_datetime产生不一致的日期

时间:2013-10-22 15:11:21

标签: python pandas

to_datetime似乎产生不同的基准日期(pandas-0.12.0)

pd.to_datetime('03:00:00.017158433')
Timestamp('2013-10-22 03:00:00.017158', tz=None)

pd.to_datetime(10800017158433, unit='ns')
Timestamp('1970-01-01 03:00:00.017158433', tz=None)

这是一个错误吗?或者是使用问题?

1 个答案:

答案 0 :(得分:2)

这是正确的,但它在纪元的纳秒内(例如19700101 00:00:00)

In [3]: pd.to_datetime('03:00:00.017158433')
Out[3]: Timestamp('2013-10-22 03:00:00.017158', tz=None)

In [4]: pd.to_datetime('03:00:00.017158433').value
Out[4]: 1382410800017158000

In [5]: pd.to_datetime(1382410800017158000,unit='ns')
Out[5]: Timestamp('2013-10-22 03:00:00.017158', tz=None)

来自

10800017158433

它不是一个有效的纪元时间戳(好吧,但它可能不是你想要的)

你说这是从午夜开始,所以你可以这样做。

In [2]: Timestamp(Timestamp('20131022').value+10800017158433)
Out[2]: Timestamp('2013-10-22 03:00:00.017158433', tz=None)