【发布时间】:2020-11-17 12:06:58
【问题描述】:
def func(x,a,b):
return a*x + b
guess = (0.5,0.5,0.5)
fit_df = df.dropna()
col_params = {}
for col in fit_df.columns:
x = fit_df.index.astype(float).values
y = fit_df[col].values
params = curve_fit(func,x,y,guess)
col_params[col] = params[0]
for col in df.columns:
x = df[pd.isnull(df[col])].index.astype(float).values
df[col][x] = func(x,*col_params[col])
print("Extrapolated data")
print(df)
我正在使用另一篇文章中的代码来推断值。我更改了 func() 使其是线性的而不是立方的,但是我收到一个错误“func() 需要 3 个位置参数,但有 4 个是给定的”
Extrapolate values in Pandas DataFrame 是我获得原始代码的地方。我的问题是我将如何更改它以使其与线性关系一起使用
【问题讨论】:
标签: python pandas scipy extrapolation