我使用以下函数来计算每个客户的流出量的趋势(斜率)。但是,对于整个数据集,我得到相同的数字。有没有一种方法可以遍历数据集中的每个客户ID,并为每个客户获取单独的趋势?预先感谢!
import numpy as np
def trendline(data, order=1):
coeffs = np.polyfit(data.index.values, list(data), order)
slope = coeffs[-2]
return float(slope)
outflow = payment['AMOUNT']
month = payment['MONTH']
df_ = pd.DataFrame({'month': month, 'outflow': outflow})
slope_outflow = trendline(df_['outflow'])
slope_outflow
答案 0 :(得分:0)
您可以提供一些示例数据吗?
作为一种可能的解决方案,在这种情况下,我通常使用groupby。
for c in df_.groupby('CUSTOMER'):
trendline(c)