【发布时间】:2019-04-11 21:51:26
【问题描述】:
我有一个如下的 Pandas 数据框
df = pd.DataFrame([['John', '1/1/2017','10'],
['John', '2/2/2017','15'],
['John', '2/2/2017','20'],
['John', '3/3/2017','30'],
['Sue', '1/1/2017','10'],
['Sue', '2/2/2017','15'],
['Sue', '3/2/2017','20'],
['Sue', '3/3/2017','7'],
['Sue', '4/4/2017','20']
],
columns=['Customer', 'Deposit_Date','DPD'])
。在下面的屏幕截图中计算 PreviousMean 列的最佳方法是什么?
该列是该客户今年迄今为止的 DPD 平均值。 IE。包括截至但不包括与当前存款日期匹配的所有 DPD。如果不存在以前的记录,则为 null 或 0。
注意事项:
- 数据按客户名称分组,并扩展到存款日期
- 在每个组中,扩展均值仅使用前几行的值来计算。
- 在每个新客户开始时,平均值为 0 或 null,因为没有以前的记录可以形成平均值
- 数据框按客户名称和存款日期排序
【问题讨论】: