开发者社区> 问答> 正文

在Python dataframe中计算每个客户的趋势

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

问题来源StackOverflow 地址:/questions/59382063/calculating-trend-per-customer-in-python-dataframe

展开
收起
kun坤 2019-12-27 17:19:30 520 0
1 条回答
写回答
取消 提交回答
  • 你能提供一些样本数据吗? 作为一种可能的解决方案,在这些情况下,我通常使用groupby。

    for c in df_.groupby('CUSTOMER'):
        trendline(c)
    
    2019-12-27 17:19:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载