我是 Python 繪圖的新手,所以請耐心等待。我今天搜索并閱讀了很多,但無法弄清楚這一點。import numpy as npimport matplotlib.pyplot as pltimport pandas as pdfrom scipy.optimize import curve_fitdef exp_func(x,a,b,c): return a*np.exp(-b*x)+cx = np.array(df_auction_cat['AgeAdj'])y = np.array(df_auction_cat['SP/ABCost'])plt.scatter(x, y, s=50, cmap='Blues', alpha=0.7, edgecolor='gray', linewidth=1)popt, pcov = curve_fit(exp_func, x, y)plt.plot(x, exp_func(x, *popt))在前面的代碼中,我處理了一些數據并將 df_auction_cat 數據集放在一起。散布看起來像這樣,指數根本不適合:任何幫助將非常感激。數據點如下:AgeAdj SP/ABCost26 0.0518518138 0.34210436328 0.14208173823 0.122 0.05633052719 0.15769230818 0.15730140717 0.1517 0.23669087217 0.17304173714 0.22307692312 0.24729454912 0.24244563610 0.46486486517 0.23333333317 0.25333333310 0.29230769228 0.12655402419 0.32297363414 0.27068498818 0.17456085812 0.20365433523 0.13314488217 0.11907660112 0.38157894717 0.23274781114 0.36546599911 0.57405654119 0.15347196329 0.12802392515 0.16499983528 0.14051344422 0.08977006916 0.1600141215 0.283422611
2 回答

呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
我創建了自己的 x、y 并工作,你能發布你的輸入數據嗎?
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from scipy.optimize import curve_fit
def exp_func(x,a,b,c):
return a*np.exp(-b*x)+c
x = np.array(range(0,100))
y = np.array(exp_func(x,0.1,0.1,.1)*50+np.random.rand(100))
plt.scatter(x, y, s=50, cmap='Blues', alpha=0.7, edgecolor='gray', linewidth=1)
popt, pcov = curve_fit(exp_func,x, y)
plt.plot(x, exp_func(x, *popt))
添加回答
舉報
0/150
提交
取消