在Python数据框中计算每个客户的趋势

时间:2019-12-17 21:05:40

标签: python pandas dataframe data-analysis

我使用以下函数来计算每个客户的流出量的趋势(斜率)。但是,对于整个数据集,我得到相同的数字。有没有一种方法可以遍历数据集中的每个客户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

1 个答案:

答案 0 :(得分:0)

您可以提供一些示例数据吗?

作为一种可能的解决方案,在这种情况下,我通常使用groupby。

for c in df_.groupby('CUSTOMER'):
    trendline(c)