我使用下面的函数来计算每个客户的流出量的趋势(斜率)。然而,对于整个数据集,我得到了相同的数字。是否有一种方法可以迭代数据集中的每个客户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
你能提供一些样本数据吗? 作为一种可能的解决方案,在这些情况下,我通常使用groupby。
for c in df_.groupby('CUSTOMER'):
trendline(c)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。