【问题标题】:Pandas: Read Timestamp from CSV in GMT then resamplePandas:在 GMT 中从 CSV 读取时间戳,然后重新采样
【发布时间】:2012-12-31 13:02:15
【问题描述】:

我有一个 CSV,带有不规则间隔的纪元 GMT 时间戳与一个值配对。我尝试从 CSV 读取它,但所有时区都转移到我的本地时区。我怎样才能让它按原样(格林威治标准时间)阅读?然后我希望以一分钟的间隔重新采样,但是,我想跳过大于用户指定值的间隙。如果这不可能,有没有办法重新采样到一分钟,但在间隙中,输入任意值,如 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')

【问题讨论】:

    标签: python csv timezone timestamp pandas


    【解决方案1】:

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

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

    时区是+08(中国)。

    或者使用'datetime.utcfromtimestamp':

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

    返回与 POSIX 时间戳对应的 UTC 日期时间,使用 tzinfo 无。如果时间戳超出,这可能会引发溢出错误 平台 C gmtime() 函数支持的值范围,以及 gmtime() 失败时出现 OSError。这通常被限制在 从 1970 年到 2038 年。另请参见 fromtimestamp()。

    【讨论】:

      猜你喜欢
      • 2014-03-19
      • 2021-04-15
      • 2022-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多