【问题标题】:Joining a pandas time series with a date range加入带有日期范围的熊猫时间序列
【发布时间】:2017-10-18 17:14:57
【问题描述】:

我有一个按日期索引的熊猫系列和一个熊猫日期范围。系列中的日期是日期范围的子集。 Pandas 必须有一种超级优雅的方式来加入它们并用零填充缺失的值 - 但我现在想不出来。

pandas.date_range(start, end)

DatetimeIndex(['2017-04-20', '2017-04-21', '2017-04-22', '2017-04-23',
               '2017-04-24', '2017-04-25', '2017-04-26', '2017-04-27',
               '2017-04-28', '2017-04-29', '2017-04-30', '2017-05-01',
               '2017-05-02', '2017-05-03', '2017-05-04', '2017-05-05',
               '2017-05-06'],
              dtype='datetime64[ns]', freq='D')

data.groupby("Day").size()

Day
2017-04-20    462
2017-04-21     64
2017-04-22     13
2017-04-23      5
2017-04-24      9
2017-04-25      5
2017-04-26      1
2017-04-27      2
2017-04-30      1
2017-05-02      1
2017-05-04      1
2017-05-06      1
dtype: int64

想要的结果:

Day
2017-04-20    462
2017-04-21     64
2017-04-22     13
2017-04-23      5
2017-04-24      9
2017-04-25      5
2017-04-26      1
2017-04-27      2
2017-04-28      0
2017-04-29      0
2017-04-30      1
2017-05-02      1
2017-05-03      0
2017-05-04      1
2017-05-05      0
2017-05-06      1
dtype: int64

【问题讨论】:

    标签: python pandas datetime time-series data-science


    【解决方案1】:
    data.groupby("Day").size().reindex(pandas.date_range(start, end), fill_value=0)
    

    演示

    # I also named the new index :-)
    data.groupby("Day").size().reindex(
        pd.date_range('2017-04-20', '2017-05-06', name='Day'), fill_value=0)
    
    Day
    2017-04-20    462
    2017-04-21     64
    2017-04-22     13
    2017-04-23      5
    2017-04-24      9
    2017-04-25      5
    2017-04-26      1
    2017-04-27      2
    2017-04-28      0
    2017-04-29      0
    2017-04-30      1
    2017-05-01      0
    2017-05-02      1
    2017-05-03      0
    2017-05-04      1
    2017-05-05      0
    2017-05-06      1
    Freq: D, dtype: int64
    

    【讨论】:

      猜你喜欢
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 2019-04-17
      • 2014-01-01
      • 2020-12-23
      • 2019-07-07
      • 2016-11-09
      • 2022-10-17
      相关资源
      最近更新 更多