make_interp_spline(x, y[1:151])(x_smooth) ValueError: x and y are incompatible.
作者:互联网
报错
Traceback (most recent call last):
File "E:/Program Files/PyCharm 2019.2/GraduationDesign/LSTM.py", line 193, in <module>
test(name, B)
File "E:/Program Files/PyCharm 2019.2/GraduationDesign/LSTM.py", line 180, in test
y_smooth = make_interp_spline(x, y[1:151])(x_smooth)
File "F:\Anaconda3\lib\site-packages\scipy\interpolate\_bsplines.py", line 795, in make_interp_spline
raise ValueError('x and y are incompatible.')
ValueError: x and y are incompatible.
解决
原文中相应代码为:
x = [i for i in range(1, 151)]
x_smooth = np.linspace(np.min(x), np.max(x), 900)
y_smooth = make_interp_spline(x, y[150:300])(x_smooth)
报错提示x and y are incompatible,很显然不是指x和y的长度不一致,而是指shape不一致:y的shape为(150, 1),需要对其进行转置:
y_smooth = make_interp_spline(x, y.T[150:300])(x_smooth)
标签:151,incompatible,interp,make,smooth,spline 来源: https://blog.csdn.net/Cyril_KI/article/details/122577067