微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

插值:多项式向前和向后丢失 NaN

如何解决插值:多项式向前和向后丢失 NaN

为什么多项式向前和向后缺少这些 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 举报,一经查实,本站将立刻删除。