使用Unix纪元时间戳作为Datetime索引

使用Unix纪元时间戳作为Datetime索引

本文介绍了 pandas :使用Unix纪元时间戳作为Datetime索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序涉及处理以下形式的数据(包含在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.

  1. 是否存在用于处理此类时间戳格式的内置方法?
  2. 如果没有,推荐处理这些格式的方法是什么?

推荐答案

将其转换为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索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-28 19:45