pandas 日期时间到 unixtime

pandas datetime to unixtime

我想将日期时间 (2014-12-23 00:00:00) 更改为 unixtime。我尝试使用 Datetime 函数,但没有用。我得到了数组中的日期时间戳。

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

非常感谢

我想你可以减去日期 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

强调一下EdChum的第一条评论,大家可以直接获取Unix时间like

import pandas as pd

s = pd.to_datetime(["2014-12-23 00:00:00"])
unix = s.astype("int64")

print(unix)
# Int64Index([1419292800000000000], dtype='int64')

或 pd.Timestamp:

print(pd.to_datetime("2014-12-23 00:00:00").value)
# 1419292800000000000

备注

  • 输出精度为纳秒 - 如果你想要另一个精度,请适当除以,例如10⁹ 得到秒,10⁶ 得到毫秒等等
  • 这假定输入 date/time 为 UTC,除非指定了时区/UTC 偏移量