Pandas 熊猫重新索引填写缺失的日期

Pandas 熊猫重新索引填写缺失的日期,pandas,reindex,Pandas,Reindex,我有一个带有日期索引的数据框。每个数据都是本月的第一个数据。我想在每日级别上填写索引中所有缺失的日期 我想这应该行得通: daily=pd.date_range('2016-01-01', '2018-01-01', freq='D') df=df.reindex(daily) 但是它返回的NA行中应该有数据(月1日),有人能看到这个问题吗?使用参数method='ffill'或ffill来获得更一般的解决方案,因为不必按日期范围创建新索引: df = pd.DataFrame({'a': r

我有一个带有日期索引的数据框。每个数据都是本月的第一个数据。我想在每日级别上填写索引中所有缺失的日期

我想这应该行得通:

daily=pd.date_range('2016-01-01', '2018-01-01', freq='D')
df=df.reindex(daily)
但是它返回的
NA
行中应该有数据(月1日),有人能看到这个问题吗?

使用参数
method='ffill'
ffill
来获得更一般的解决方案,因为不必按
日期范围创建新索引:

df = pd.DataFrame({'a': range(13)},
                   index=pd.date_range('2016-01-01', '2017-01-01', freq='MS'))

print (df)
             a
2016-01-01   0
2016-02-01   1
2016-03-01   2
2016-04-01   3
2016-05-01   4
2016-06-01   5
2016-07-01   6
2016-08-01   7
2016-09-01   8
2016-10-01   9
2016-11-01  10
2016-12-01  11
2017-01-01  12

daily=pd.date_range('2016-01-01', '2018-01-01', freq='D')
df1 = df.reindex(daily, method='ffill')
另一个解决方案:

df1 = df.resample('D').ffill()  

使用参数
method='ffill'
ffill
可获得更一般的解决方案,因为无需按
日期范围创建新索引:

df = pd.DataFrame({'a': range(13)},
                   index=pd.date_range('2016-01-01', '2017-01-01', freq='MS'))

print (df)
             a
2016-01-01   0
2016-02-01   1
2016-03-01   2
2016-04-01   3
2016-05-01   4
2016-06-01   5
2016-07-01   6
2016-08-01   7
2016-09-01   8
2016-10-01   9
2016-11-01  10
2016-12-01  11
2017-01-01  12

daily=pd.date_range('2016-01-01', '2018-01-01', freq='D')
df1 = df.reindex(daily, method='ffill')
另一个解决方案:

df1 = df.resample('D').ffill()