0

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)

这是一个错误吗?还是使用有问题?

4

1 回答 1

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)
于 2013-10-22T15:17:52.030 回答