我正在从statsmodels执行ADF测试。价值系列可能缺少对话。事实上,如果NaNs的比例大于c,我就会放弃分析。但是,如果系列通过我得到问题,adfuller无法处理丢失的数据。由于这是使用最小帧大小的训练数据,我想这样做:
1)如果x(t = 0)= NaN,则找到下一个非NaN值(t> 0) 2)否则,如果x(t)= NaN,则x(t)= x(t-1)
所以我在这里妥协我的第一个值,但确保输入数据始终具有相同的维度。或者,如果缺少第一个值,我可以填写0,并使用dropna中的限制选项。
从文档中我不完全清楚不同的选项: 方法:{'backfill','bfill','pad','ffill',None},默认无
用于填充重新索引的填充孔的方法系列填充/填充:将最后一次有效观察传播到下一个有效回填/ bfill:使用NEXT有效观察来填补空白
pad / ffill:这是否意味着我继承了之前的价值? backfill / bfill:这是否意味着我的价值取自未来的有效值?
df.dropna(method = 'bfill', limit 1, inplace = True)
df.dropna(method = 'ffill', inplace = True)
这会有限制吗?该文档使用'limit = 1'但预先确定了要填充的值。
答案 0 :(得分:1)
1)如果x(t = 0)= NaN,则找到下一个非NaN值(t> 0)2)否则如果x(t)= NaN,则x(t)= x(t-1) )
要预先填写所有观察,除了(可能)应该回填的第一个观察,您可以将两个调用链接到ansible: user,第一个调用method='ffill'
,第二个调用{{1 }}:
method='fill'