【问题标题】:Python Pandas DateTimeIndexPython Pandas 日期时间索引
【发布时间】:2016-10-25 21:22:54
【问题描述】:

低于来自 DataFrame 的 DateTimeIndex。夏季/冬季时区是“美国/东部”,但记录的时间戳是“欧洲/伦敦”。我正在尝试重新索引这将实现完整的时间序列。

DatetimeIndex(['1993-10-24 21:00:00', '1993-10-25 21:00:00',
               '1993-10-26 21:00:00', '1993-10-27 21:00:00',
               '1993-10-28 21:00:00', '1993-10-31 22:00:00',
               '1993-11-01 22:00:00', '1993-11-02 22:00:00',
               '1993-11-03 22:00:00', '1993-11-04 22:00:00'],
              dtype='datetime64[ns]', name=u'TIME', freq=None)

如何在不弄乱小时元素的情况下重新索引上述内容?

【问题讨论】:

    标签: python datetime pandas reindex


    【解决方案1】:
    tidx = pd.DatetimeIndex(
        [
            '1993-10-24 21:00:00', '1993-10-25 21:00:00',
            '1993-10-26 21:00:00', '1993-10-27 21:00:00',
            '1993-10-28 21:00:00', '1993-10-31 22:00:00',
            '1993-11-01 22:00:00', '1993-11-02 22:00:00',
            '1993-11-03 22:00:00', '1993-11-04 22:00:00'],
        dtype='datetime64[ns]', name=u'TIME', freq=None
    )
    
    ts = tidx.to_series().dt.hour.resample('D').last().ffill().rename_axis('date')
    ts.index + pd.to_timedelta(ts.values, unit='H')
    

    DatetimeIndex(['1993-10-24 21:00:00', '1993-10-25 21:00:00',
                   '1993-10-26 21:00:00', '1993-10-27 21:00:00',
                   '1993-10-28 21:00:00', '1993-10-29 21:00:00',
                   '1993-10-30 21:00:00', '1993-10-31 22:00:00',
                   '1993-11-01 22:00:00', '1993-11-02 22:00:00',
                   '1993-11-03 22:00:00', '1993-11-04 22:00:00'],
                  dtype='datetime64[ns]', freq=None)
    

    【讨论】:

      猜你喜欢
      • 2017-08-13
      • 2017-01-03
      • 1970-01-01
      • 2014-03-07
      • 2015-03-27
      • 2018-10-30
      • 2017-04-16
      • 2020-01-02
      相关资源
      最近更新 更多