熊猫:在GMT中从CSV读取时间戳,然后重新取样

时间:2013-01-17 02:53:45

标签: python csv timezone timestamp pandas

我有一个带有epoch GMT时间戳的CSV,其间隔不规则,与值配对。我尝试从CSV读入,但所有时间都转移到我当地的时区。我如何才能按原样阅读(GMT中)?然后我希望重新采样到一分钟的时间间隔,但是,我希望能够让它跳过大于用户指定值的间隙。如果这是不可能的,有没有办法重新采样到一分钟,但在间隙中,输入一个像0.0的任意值?

 Data:
 Time,Data
 1354979750250,0.2343
 1354979755250,2.3433
 1354979710250,1.2343

 def date_utc(s):
     return parse(s, tzinfos=tzutc)

 x = read_csv("time2.csv", date_parser=date_utc, converters={'Time': lambda x:datetime.fromtimestamp(int(x)/1000.)}).set_index('Time')

1 个答案:

答案 0 :(得分:1)

将本地日期时间转换为GMT日期时间,如下所示:

gmtDatetime = localdatetime - datetime.timedelta(hours=8)

时区是+08(中国)。

或使用'datetime.utcfromtimestamp':

classmethod datetime.utcfromtimestamp(timestamp)
classmethod datetime.fromtimestamp(timestamp, tz=None)
  

返回与POSIX时间戳对应的UTC日期时间   tzinfo没有。如果时间戳不在,这可能会引发OverflowError   平台C gmtime()函数支持的值范围,以及   关于gmtime()失败的OSError。这种情况很常见   从1970年到2038年。另见fromtimestamp()。