【问题标题】:pandas time series timestamp +/- (plus minus) hour for day light savings (dst)pandas 时间序列时间戳 +/-(加减)夏令时 (dst) 小时
【发布时间】:2015-01-25 08:28:58
【问题描述】:

在 pandas 中,我转换了一些来自美国/东部的数据集和一些来自美国/芝加哥的数据集:

data_f1 = data_f[:'2007-04-26 16:59:00']
data_f1.index = data_f1.index.tz_localize('US/Eastern', infer_dst=True).tz_convert('Europe/London')
data_f2 = data_f['2007-04-26 17:00:00':]
data_f2.index = data_f2.index.tz_localize('America/Chicago', infer_dst=True).tz_convert('Europe/London')
data = data_f1.append(data_f2)

我对此有两个问题。

(1) tz_convert() 是否考虑了纽约(或芝加哥)时间和伦敦时间之间的 DST 变化?是否有任何文件支持这一点?我在任何地方都找不到它。

(2) 输出如下:

我不确定时间戳末尾的“+01:00”是什么,但我认为它与 DST 转换有关? + 到底是相对于什么?我不确定这意味着什么或为什么有必要 - 如果我从美国/东部 14:00 转换为欧洲/伦敦 19:00,它只是 19:00,而不是 19:00+01:00?为什么要添加?

当我输出到 Excel 时,我必须手动砍掉“+”之后的所有内容。是否有任何选项可以简单地不输出它(除非它实际上很重要)?

提前感谢您的帮助!

更新: 我发现最接近去除 + 的地方是:Convert pandas timezone-aware DateTimeIndex to naive timestamp, but in certain timezone,但看起来这可能需要很长时间才能处理大量数据。没有更有效的方法吗?

【问题讨论】:

    标签: python time pandas dst series


    【解决方案1】:

    我用来解决这个问题的方法是输出到 .csv,将其读回(这使其时区幼稚但保持其所在的时区),然后去掉 + 的。

    【讨论】:

      猜你喜欢
      • 2019-02-27
      • 2011-10-22
      • 2013-03-06
      • 2013-11-25
      • 2013-01-31
      • 2021-10-18
      • 2016-08-10
      • 2012-12-18
      • 2015-07-31
      相关资源
      最近更新 更多