熊猫:回填missig数据并保持索引

时间:2018-03-14 22:22:30

标签: python python-3.x pandas missing-data pandas-groupby

我有一个有很多缺失值的数据集,时间间隔是5分钟,但是,还有很多缺少的时间戳。 Dataframe看起来像这样:

Time                   A
2000-01-01 00:00:00   NaN
2010-01-01 00:00:00   NaN
2015-01-01 00:00:00   NaN
2015-12-01 00:00:00   NaN
2015-12-01 12:40:00   NaN
2015-12-01 12:45:00   NaN


df.dropna().head(6)

Time                    A
2015-12-04 11:50:00    1.0
2016-04-11 16:15:00    1.0
2016-04-11 16:25:00    1.0
2016-04-29 22:05:00    1.0
2016-07-01 14:25:00    1.0
2016-07-23 21:20:00    1.0

我想在不更改索引的情况下将缺失值填充10天。我使用了这个命令,但结果没有变化。

#fill the missing data
df_filled=df.groupby(df.index).fillna(method='bfill', limit=12*240)

df_filled.dropna().head(6)

Time                    A
2015-12-04 11:50:00    1.0
2016-04-11 16:15:00    1.0
2016-04-11 16:25:00    1.0
2016-04-29 22:05:00    1.0
2016-07-01 14:25:00    1.0
2016-07-23 21:20:00    1.0

如果有人能指导我,我感激不尽。

提前致谢。

更新

来自df的一个值的快照:

12/4/2015 11:15 NaN
12/4/2015 11:20 NaN
12/4/2015 11:25 NaN
12/4/2015 11:30 NaN
12/4/2015 11:35 NaN
12/4/2015 11:40 NaN
12/4/2015 11:45 NaN
12/4/2015 11:50 1

我想要将数据回填最多10天,因此对于相同的数据点应该是:

12/4/2015 11:15 1
12/4/2015 11:20 1
12/4/2015 11:25 1
12/4/2015 11:30 1
12/4/2015 11:35 1
12/4/2015 11:40 1
12/4/2015 11:45 1
12/4/2015 11:50 1

1 个答案:

答案 0 :(得分:1)

我找到了一个有效的解决方案:

df_filled=df.groupby(pd.Grouper(freq='10D')).fillna(method='bfill')