首页 > 解决方案 > Python - curve_fit 应用于缺少数据的表

问题描述

我想使用curve_fit在一组数据上优化具有2个变量x,y的函数。到目前为止,我有一个程序(见下文)可以很好地与“完整”熊猫数据框配合使用。但我想使用带有一些未定义值(Nan)的熊猫数据框作为输入数据。

#Optimization of func over data_x_y
x = np.array(data_x_y.index)
y = np.array(data_x_y.columns)
X,Y = np.meshgrid(x,y)    
Z = data_x_y.values.T

xdata = np.vstack((X.ravel(), Y.ravel()))

fit_params, pcov = curve_fit(func, xdata, Z.ravel(), p0=p0, bounds=bounds)

我想过在数据框中放置随机值而不是 Nan 值,并使用 curve_fit 的参数 s 来忽略这些值,但这显然不是最好的方法。

因此,是否有一种简单的方法可以修改该程序以使用 curve_fit,或者我是否需要定义一个成本函数并使用 scipy.optimize 的最小化函数?

谢谢您的帮助。

标签: pythonpandascurve-fitting

解决方案


推荐阅读