问题描述
为什么多项式向前和向后缺少这些 NaN?没有错误。
df = pd.DataFrame(
[
(0.0,np.nan,-1.0,1.0),(np.nan,2.0,np.nan),(2.0,3.0,9.0),4.0,-4.0,16.0),(0.0,16.0)
],columns=list('abcd')
)
错过 a 列底部的前向值
df.interpolate(method='polynomial',limit_direction='forward',axis=0,order=1)
a b c d
0 0.000000e+00 NaN -1.000000 1.000000
1 2.000000e+00 2.0 -5.714286 -5.894737
2 2.000000e+00 3.0 -6.142857 9.000000
3 1.000000e+00 4.0 -4.000000 16.000000
4 0.000000e+00 3.0 -1.000000 1.000000
5 -2.220446e-16 2.0 1.142857 -0.842105
6 2.000000e+00 3.0 0.714286 9.000000
7 NaN 4.0 -4.000000 16.000000
缺少 b 列顶部的向后值
df.interpolate(method='polynomial',limit_direction='backward',order=1)
a b c d
0 0.0 NaN -1.0 1.0
1 1.0 2.0 -2.0 5.0
2 2.0 3.0 -3.0 9.0
3 1.0 4.0 -4.0 16.0
4 0.0 3.0 -1.0 1.0
5 1.0 2.0 -2.0 5.0
6 2.0 3.0 -3.0 9.0
7 NaN 4.0 -4.0 16.0
- 我曾尝试更改
order=3
和其他奇数。 -
method='linear'
按预期工作。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)