我已经创建了"降水分析"示例Bluemix Spark服务中的Jupyter Notebook。
因此在In [34]和In [35]中(你必须滚动很多)他们使用numpy polyfit来计算给定温度数据的趋势。但是,我不明白如何使用它。
有人可以解释一下吗?
答案 0 :(得分:0)
Developerworks已经回答了这个问题: - https://developer.ibm.com/answers/questions/282350/how-does-numpy-polyfit-work.html
我将尝试解释每一个: -
index = chile [chile> 0.0] .index =>这个陈述给出了智利python系列中大于0.0的所有年份。
fit = np.polyfit(index.astype('int'), chile[index].values,1)
这是polyfit函数调用,它通过向量提供给定x(年)和y(年降水量)值的多项式拟合系数(斜率和截距)。
print "slope: " + str(fit[0])
下面的代码只是绘制了直线参考的数据点以显示趋势
plt.plot(index, chile[index],'.')
特别是在下面的陈述中,第二个参数实际上是直线方程来表示y,即" y = mx + b"其中m是斜率,b是我们使用polyfit在上面发现的截距。
plt.plot(index, fit[0]*index.astype('int') + fit[1], '-', color='red')
plt.title("Precipitation Trend for Chile")
plt.xlabel("Year")
plt.ylabel("Precipitation (million cubic meters)")
plt.show()
我希望有所帮助。
谢谢,查尔斯。