自Epoch以来如何将Pandas Timestamp转换为nano?
Posted
技术标签:
【中文标题】自Epoch以来如何将Pandas Timestamp转换为nano?【英文标题】:How to convert Pandas Timestamp into nano since Epoch? 【发布时间】:2016-12-18 08:05:34 【问题描述】:自 Epoch 以来将 Pandas Timestamp 转换为 nano 的最有效方法是什么?
import pandas as pd
ns = 1470924597871000000
timestamp = pd.to_datetime(ns, unit="ns")
那么怎么做
timestamp => 1470924597871000000 ns???
【问题讨论】:
【参考方案1】:通过unit='ns'
指定单元类型:
In [46]:
ns = 1470924597871000000
timestamp = pd.to_datetime(ns, unit='ns')
timestamp
Out[46]:
Timestamp('2016-08-11 14:09:57.871000')
但是除非你追求别的东西,否则这似乎可以正常工作而不通过这个?
可以使用timestamp()
获取时间戳值:
In [50]:
timestamp.timestamp()
Out[50]:
1470920997.871
【讨论】:
【参考方案2】:对我来说,使用参数unit
效果很好,但令人惊讶的是没有参数:
import pandas as pd
ns = 1470924597871000000
timestamp1 = pd.to_datetime(ns)
print (timestamp1)
2016-08-11 14:09:57.871000
timestamp = pd.to_datetime(ns, unit='ns')
print (timestamp)
2016-08-11 14:09:57.871000
如果需要从时间戳转换为纪元:
print (timestamp.value)
1470924597871000000
【讨论】:
谢谢!!只是找不到值的文档【参考方案3】:你可以通过它的值来访问它:
import pandas as pd
ns = 1470924597871000000
timestamp = pd.to_datetime(ns)
timestamp.value
Out: 1470924597871000000
【讨论】:
以上是关于自Epoch以来如何将Pandas Timestamp转换为nano?的主要内容,如果未能解决你的问题,请参考以下文章
XQuery 中是不是有任何方法可以获取自某个 Epoch 以来的当前时间(以毫秒为单位)?
获取自 Linux 上的 Epoch、Bash 以来的当前时间(以秒为单位)
如何计算自特定列中发生事件以来经过的时间 - Pandas DataFrames