问题描述
我的应用程序涉及处理以下形式的数据(包含在CSV中):
My application involves dealing with data (contained in a CSV) which is of the following form:
Epoch (number of seconds since Jan 1, 1970), Value
1368431149,20.3
1368431150,21.4
..
目前,我使用numpy loadtxt方法读取CSV(可以轻松使用Pandas的read_csv).目前,对于我的系列影片,我将时间戳字段转换如下:
Currently i read the CSV using numpy loadtxt method (can easily use read_csv from Pandas). Currently for my series i am converting the timestamps field as follows:
timestamp_date=[datetime.datetime.fromtimestamp(timestamp_column[i]) for i in range(len(timestamp_column))]
接下来,我将timestamp_date设置为DataFrame的Datetime索引.我尝试在几个地方搜索,以查看是否有使用这些Unix纪元时间戳的更快(内置)方法,但找不到任何方法.许多应用程序都使用这种时间戳术语.
I follow this by setting timestamp_date as the Datetime index for my DataFrame. I tried searching at several places to see if there is a quicker (inbuilt) way of using these Unix epoch timestamps, but could not find any. A lot of applications make use of such timestamp terminology.
- 是否存在用于处理此类时间戳格式的内置方法?
- 如果没有,推荐处理这些格式的方法是什么?
推荐答案
将其转换为datetime64[s]
:
np.array([1368431149, 1368431150]).astype('datetime64[s]')
# array([2013-05-13 07:45:49, 2013-05-13 07:45:50], dtype=datetime64[s])
这篇关于 pandas :使用Unix纪元时间戳作为Datetime索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!