为了账号安全,请及时绑定邮箱和手机立即绑定

Scipy Draw 指数 - 我如何更好地适应它?

Scipy Draw 指数 - 我如何更好地适应它?

喵喔喔 2021-10-19 09:56:57
我是 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))


查看完整回答
反对 回复 2021-10-19
  • 2 回答
  • 0 关注
  • 368 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号