pandas
中的时间序列索引使用numpy
datetime64
类型。
有没有有效的方法来构建datetime64
个对象?
我在文档中看到的唯一方法是来自string
或来自python datetime
对象。
如果我有大量的时间戳(数百万),以纪元时间(以1970-01-01为单位的秒数)或纳秒时间(1970-01-01的ns数)表示,有没有快速的方法将整数转换为numpy
datetime64
?
内部numpy.datetime64
也以整数表示。
我不想将纪元时间转换为字符串或python datetime对象,然后转换为numpy.datetime64
,因为它对于大量数据来说效率太低。
答案 0 :(得分:4)
pd.to_datetime将转换链接中记录的纪元时间戳:
dt = pd.to_datetime([1349720105, 1349806505, 1349892905,
1349979305, 1350065705], unit='s')
print(dt)
DatetimeIndex(['2012-10-08 18:15:05', '2012-10-09 18:15:05',
'2012-10-10 18:15:05', '2012-10-11 18:15:05',
'2012-10-12 18:15:05'],
dtype='datetime64[ns]', freq=None, tz=None)
答案 1 :(得分:0)
是的,有一个。但是我无法衡量表现。根据{{3}}
import numpy as np
a = np.datetime64('1970-01-01') + np.timedelta64(1, 's')
或
a = np.datetime64('1970-01-01') + np.timedelta64(100, 'ns')