2017-05-18 12 views
1

私は日付とパンダの日付範囲でインデックスされたパンダシリーズを持っています。シリーズの日付は、日付範囲のサブセットです。パンダはそれらを結合し、欠損値を0で埋めるための超エレガントな方法を持っていなければなりませんが、私はただ今それを考えることはできません。日付範囲を持つパンダの時系列に参加する

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 

答えて

2
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 
関連する問題