我正在使用Plotlylib可视化我的OLS回归线,并试图从悬停模板中显示的y=mx+b方程中提取“m”和“b”值
这是可视化时它在悬停模板中显示的方式:
使用ols_fcast_fig.data[1].hovertemplate
它为我打印出:
'<b>OLS trendline</b><br>Observations = 0.000411 * Date + -603422.036990<br>R<sup>2</sup>=0.952751<br><br>Date=%{x}<br>Observations=%{y} <b>(trend)</b>'
现在,我需要得到0.000411和-603422.036990值。但是,我需要以动态的方式获取它们,因为这些值会发生变化(因此不需要使用[#::#]索引位置)。 请让我知道如何以动态方式提取这些值,以便第一个值在“=”之后、在“*”之前,第二个值在“+”之后、在“<br>;'因此,可以在Plotly函数内执行还是不使用正则表达式
谢谢你的帮助
我不熟悉OLS和Plotly,我认为可能有一种更简单的方法来访问这些值,但只是从文本中提取它们,您可以使用如下regex:
请注意,这不适用于科学记数法中的数字,或者如果文本中要提取的数字之前有其他数字(如果需要,可以通过使模式更复杂来解决这两个问题)
不使用正则表达式,您可以执行以下操作
但我反对这种做法,因为它很快就会变得混乱和脆弱
另一种选择是使用parse库
您可以直接访问这些数字,您不需要解析任何字符串
Plotly Express存储
statsmodels
拟合的结果。签出https://plot.ly/python/linear-fits/#fitting-multiple-lines-and-retrieving-the-model-parameters对于只有一个方面的简单情况,这将打印两个参数:
相关问题 更多 >
编程相关推荐