2015-12-02 175 views
6

我想将Datetime(2014-12-23 00:00:00)更改为unixtime。我用Datetime函数试过了,但它没有工作。我在数组中获得了Datetime邮票。熊猫日期时间到unixtime

Zeit =np.array(Jahresgang1.ix[ :,'Zeitstempel']) 
t = pd.to_datetime(Zeit, unit='s') 
unixtime = pd.DataFrame(t) 
print unixtime 

非常感谢

+0

假设你的D型是'datetime64'那么下面(t.astype(np.int64)/ 1e6).astype(np.uint64)' – EdChum

+0

另一种方法是:'(t-dt.datetime(1970,1,1))。dt .total_seconds()' – EdChum

+0

非常感谢。你也有我的正确答案:) –

回答

8

我想你可以减去日期1970-1-1创建timedelta然后访问属性total_seconds

In [130]:  
s = pd.Series(pd.datetime(2012,1,1)) 
s 

Out[130]: 
0 2012-01-01 
dtype: datetime64[ns] 

In [158]: 
(s - dt.datetime(1970,1,1)).dt.total_seconds() 

Out[158]: 
0 1325376000 
dtype: float64 
+0

我如何将1h添加到unixtime ,因为我住在UTC:+ 1h –

+0

你可以在上面的计算之前添加一个timedelta:'s + pd.Timedelta(1,'h')'或者你的情况't + pd.Timedelta(1,'h ')' – EdChum

+1

其实正确的方法是让日期时间知道,例如's.dt.tz_localize('utc')'或任何你想要的时区 – EdChum