1、使用 interpolate 函数出现的报错
为了使用scipy库中的interpolate.interp1d(插值样条函数),我在python3.10环境中,安装了最新的scipy库1.11.3,但是运行报错如下:
Expect x to not have duplicates
此报错是表示输入的插值点数据(x_array,y_array)的x_array 中有重复的值,所以我检查了输入是否是单调递增的数组,发现确实是数组中有重复的数,所以修改后没问题了。
(在其他人写的文章里我看有说将scipy的版本降低到1.7.1之后就可以用,但我的python和numpy版本和他们的不一样,所以我之前试着修改,但是没有用。)
2、目前我使用的搭配版本:
python3.10,numpy1.22.4,matplotlib3.5.2,scipy1.7.3。
3、使用scipy1.7.3版本的子函数可能出现的报错
确定版本搭配没问题后,由于scipy不是最新本版,在使用其中的子接口函数时可能会报错,提示没有这个库函数,比如我的就报错如下:
name 'interpolate' is not defined
name 'misc' is not defined
这就是因为我用了interpolate和misc函数都没识别出来,所以在程序中要单独把你需要的这几个函数模块添加一下,这样就可以用了
import scipy
from scipy import interpolate,misc