擅长:python、mysql、java
<p>您可以使用numpy.polyfit,您可以提供顺序作为拟合多项式的次数。</p>
<p>参考:<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html" rel="noreferrer">numpy.polyfit documentation </a></p>
<pre><code>import numpy as np
import pandas as pd
def trendline(data, order=1):
coeffs = np.polyfit(data.index.values, list(data), order)
slope = coeffs[-2]
return float(slope)
#Sample Dataframe
revenue = [0.85, 0.99, 1.01, 1.12, 1.25, 1.36, 1.28, 1.44]
year = [1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000]
df = pd.DataFrame({'year': year, 'revenue': revenue})
slope = trendline(df['revenue'])
print slope
</code></pre>
<p>所以现在如果斜率的值是+ve,趋势是增加的,如果是0,趋势是不变的,否则是减少的</p>
<p>在给定的数据中,斜率为0.0804761904762。所以,趋势是</p>