有一个关于指数曲线拟合的问题,但是我没有找到任何关于如何创建幂曲线拟合的材料,如下所示:
y = a*x^b
Run Code Online (Sandbox Code Playgroud)
有一种方法可以在 Excel 中执行此操作,但是在 Python 中可能吗?
我正在分析数据集,我知道数据应遵循功率模型:
y = a*x**b
Run Code Online (Sandbox Code Playgroud)
我通过取对数将其转换为线性:
ln(y) = ln(a) + b* ln(x)
Run Code Online (Sandbox Code Playgroud)
但是,在向图中添加趋势线时会出现问题
slope, intercept, r_value, p_value, std_err = scipy.stats.mstats.linregress(x_ln, y_ln)
yy = np.exp(intercept)*wetarea_x**slope
plt.scatter(wetarea_x, arcgis_wtrshd_x, color = 'blue')
plt.plot(wetarea_x, yy, color = 'green')
Run Code Online (Sandbox Code Playgroud)
这是我用这段代码得到的.如何修改代码,使情节上的趋势线正确?
我有一个数据帧列表,我对其进行了改组,然后将输出另存为csv。为此,我尝试将此列表附加到一个空的数据框中:
l1=[year1, year2,..., year30]
shuffle (l1)
columns=['year', 'day', 'tmin', 'tmax', 'pcp']
index=np.arange(10957)
df2=pd.DataFrame(columns=columns, index=index)
l1.append(df2)
Run Code Online (Sandbox Code Playgroud)
这导致带有一堆Nans的空数据帧。我不一定需要将重新排列的列表添加到数据框,我只需要将其另存为csv,这是我找到的唯一方法。
python ×3
dataframe ×1
list ×1
matplotlib ×1
pandas ×1
plot ×1
regression ×1
scikit-learn ×1
scipy ×1