使用先前有效值的趋势在 Pandas Dataframe 中填充 NaN

问题描述

我试图通过分组来填补数据中的空白,然后使用先前数据点的趋势来预测缺失值是什么。

df

Group  Week  Value
B      1     5
B      2     6
B      3     NaN
B      4     NaN
B      5     NaN
B      6     8
B      7     8
B      8     7
B      9     6
B      10    NaN

图形上看起来像这样: Initial df plot

一旦所需的功能发生,数据框将如下所示:

Group  Week  Value
B      1     5
B      2     6
B      3     7
B      4     8
B      5     9
B      6     8
B      7     8
B      8     7
B      9     6
B      10    5.5

此处以图形方式显示了查找这些 NaN 值的先前点的趋势: NaN values calculated

本示例中的前三个 NaN 值是通过简单地绘制值 56、找到线性方程 (y = mx + c) 并将 x 拟合为周来计算 y 来找到的.将对所有 NaN 值执行相同的过程

我尝试过插值 (df = df.groupby('Group').apply(lambda group: group.interpolate(method='index')) 但这显然会查看下一个有效数据点并将其包含在计算中,我试图避免这种情况

可能值得注意的是,我使用的数据框有 200,000 行和 4,000 个组!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)