gpt4 book ai didi

python - 类型为 ="previous"的 scipy.interpolate.interp1d 未按预期进行推断

转载 作者:行者123 更新时间:2023-12-01 01:21:45 25 4
gpt4 key购买 nike

import numpy as np
from scipy.interpolate import interp1d

a = np.arange(10)
b = a + 100

iterp = interp1d(a, b, kind="previous", bounds_error=False)
print(iterp([-1,-2,5,8,12,25]))
# [nan nan 105. 108. nan nan]

前两个 nan 值有意义,但后两个值没有意义,因为前一个值可用。

现在如果我使用推断:

iterp = interp1d(a, b, kind="previous", fill_value="extrapolate")
print(iterp([-1,-2,5,8,12,25]))
# [100. 100. 105. 108. 109. 109.]

最后两个 109. 有意义,但前两个 100. 没有意义,因为没有先前的值。

我正在寻找的输出是直观的[nan nan 105.108.109.109.]。当然,我可以将上述任一选项作为基础并进行修改。但有没有直接的方法可以获得想要的结果呢?

最佳答案

好吧,我想这个解决方法还不错:

iterp = interp1d(a, b, kind="previous", fill_value=(np.nan, b.max()), bounds_error=False)
print(iterp([-1,-2,5,8,12,25]))
# [ nan nan 105. 108. 109. 109.]

关于python - 类型为 ="previous"的 scipy.interpolate.interp1d 未按预期进行推断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53753562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com