将datetime数组转换为时间戳Python

时间:2017-04-25 03:12:20

标签: python arrays datetime

最重要的是,我有一个日期时间数组,我想将其转换为时间戳,但我被卡住了。下面是我的时间数组。

Time
Out[31]: 
array([datetime.datetime(2014, 2, 1, 0, 0, 0, 100000),
       datetime.datetime(2014, 2, 1, 0, 0, 0, 300000),
       datetime.datetime(2014, 2, 1, 0, 0, 0, 500000), ...,
       datetime.datetime(2014, 2, 1, 19, 30, 0, 500000),
       datetime.datetime(2014, 2, 1, 19, 30, 0, 700000),
       datetime.datetime(2014, 2, 1, 19, 30, 0, 900000)], dtype=object)

我已经尝试了

x = time.mktime(Time.timetuple())

但是我收到了错误:

'numpy.ndarray' object has no attribute 'timetuple'

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您可以存储日期时间或时间戳,它们只是整数。这里的时间戳是根据日期时间计算的。

>>> from datetime import datetime
>>> dt = datetime(2014, 2, 1, 0, 0, 0, 100000)
>>> T = np.array([dt], dtype=np.datetime64)
>>> import time
>>> ts = int(time.mktime(dt.timetuple()))
>>> T = np.array([ts], dtype=np.int32)

答案 1 :(得分:0)

您无法使用 Time.timetuple(),因为时间是一个numpy数组。你可以迭代遍历数组,如下所示:

x = [time.mktime(t.timetuple()) for t in Time]