在Numpy(或Scipy)中计算斜率
在Numpy(或Scipy)中计算斜率
我正在尝试使用Numpy和Scipy找到计算斜率的最快和最有效的方法。我有一个包含三个Y变量和一个X变量的数据集,我需要计算它们各自的斜率。例如,我可以像下面一行一行地计算,但我希望有一种更高效的方法来做到这一点。我也不认为linregress是最好的选择,因为我在结果中不需要任何辅助变量,如截距、标准误差等。非常感谢任何帮助。
导入NumPy和SciPy库
Y = [[2.62710000e+11 3.14454000e+11 3.63609000e+11 4.03196000e+11
4.21725000e+11 2.86698000e+11 3.32909000e+11 4.01480000e+11
4.21215000e+11 4.81202000e+11]
[3.11612352e+03 3.65968334e+03 4.15442691e+03 4.52470938e+03
4.65011423e+03 3.10707392e+03 3.54692896e+03 4.20656404e+03
4.34233412e+03 4.88462501e+03]
[2.21536396e+01 2.59098311e+01 2.97401268e+01 3.04784552e+01
3.13667639e+01 2.76377113e+01 3.27846013e+01 3.73223417e+01
3.51249997e+01 4.42563658e+01]]
X = [1990. 1991. 1992. 1993. 1994. 1995. 1996. 1997. 1998. 1999.]
斜率_0,截距,相关系数,p值,标准误差 = stats.linregress(X,Y [0,:])
斜率_1,截距,相关系数,p值,标准误差 = stats.linregress(X,Y [1,:])
斜率_2,截距,相关系数,p值,标准误差 = stats.linregress(X,Y [2,:])
斜率_0 = 斜率/Y [0,:] [0]
斜率_1 = 斜率/Y [1,:] [0]
斜率_2 = 斜率/Y [2,:] [0]
b,a = polyfit(X,Y [1,:],1)
斜率_1_ a = b/Y [1,:] [0]