Numpy 从整数创建时间戳对象

Numpy 从整数创建时间戳对象,numpy,pandas,datetime64,Numpy,Pandas,Datetime64,我有一个整数,它是unix纪元后的微秒数。(格林尼治标准时间) 如何使用astype将1349863207154117转换为pandas.Timestamp(“2012-10-10T06:00:07.154117”,tz=¨UTC¨)?关于aType的文档不是很全面。我试过以下方法 x = 1349863207154117 dt64 = np.int64(x).astype("M8[us]") print dt64 返回: np.datetime64("2012-10-10T06:00:07.

我有一个整数,它是unix纪元后的微秒数。(格林尼治标准时间)

如何使用astype将1349863207154117转换为pandas.Timestamp(“2012-10-10T06:00:07.154117”,tz=¨UTC¨)?关于aType的文档不是很全面。我试过以下方法

x = 1349863207154117
dt64 = np.int64(x).astype("M8[us]")
print dt64
返回:

np.datetime64("2012-10-10T06:00:07.154117-0400")
  • 如果我只需要几秒钟,这就行了:
  • time=pd.Timestamp(datetime.datetime.fromtimstamp(int(x/1e6)),tz=¨UTC¨)
    
    • 包括这个
    [2]中的
    :pd.to_datetime(1349863207154117,单位为us')
    Out[2]:时间戳('2012-10-10 10:00:07.154117')
    
    • 如果你想把它放在本地时区
    [6]中的
    pd.to_datetime(1349863207154117,unit='us').tz_本地化('us/Eastern'))
    Out[6]:时间戳('2012-10-10 10:00:07.154117-0400',tz='美国/东部')
    
    • 如果您的时间是UTC,但您希望它在另一个tz
    [9]中的
    pd.to_datetime(1349863207154117,单位为us').tz_localize('UTC').tz_convert('us/Eastern'))
    Out[9]:时间戳('2012-10-10 06:00:07.154117-0400',tz='US/东部')
    
    • 还是这个
    [10]中的
    pd.to_datetime(1349863207154117,单位为us',utc=True)。tz_convert('us/Eastern'))
    Out[10]:时间戳('2012-10-10 06:00:07.154117-0400',tz='美国/东部')
    
    理论上,历元时间戳应该是UTC/GMT。但你永远不知道。因为这就是问题所在,没有元数据可以告诉你。谢谢,我应该看看时间戳。它的格式很疯狂。