I have this data https://drive.google.com/file/d/15ugQJq_85n--eSEs6TnrFltPpzIugaJq/view?usp=sharing
我正在尝试使用<代码>scipy.interpolate上的网格数据。 缺乏数据,而且――不准确的数值需要忽略。 我的表面上有200个不同的T s和Ks。 这是我尝试的:
import pandas as pd
import numpy as np
from scipy.interpolate import griddata
imp_vol=pd.read_csv("data.csv",index_col= dte )
T=imp_vol.index
K=imp_vol.columns
Ti=np.linspace(float(T.min()),float(T.max()),200)
Ki=np.linspace(float(K.min()),float(K.max()),200)
Ti,Ki = np.meshgrid(Ti,Ki)
T,K = np.meshgrid(T,K)
iv_interpol=griddata((T[~np.isnan(imp_vol)],K[~np.isnan(imp_vol)]), imp_vol[~np.isnan(imp_vol)].T, (Ti, Ki),method= linear )
fig = plt.figure()
ax = fig.add_subplot(111, projection= 3d )
ax.plot_surface(Ti, Ki, iv_interpol)
但是,我仍然有不同的方面错误。 即使我把阵列变成了1-D,它还是赢得了打工。
我发现的错误是:
“IndexError: boolean指数与面值0的指数阵列不相匹配;尺寸为10,但对应的生物量为15”
这是我不实的数据框架的形象。
https://i.stack.imgur.com/EGWGm.png” rel=“nofollow noreferer”>array