У меня есть кадр данных 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 за год для данного клиента.Т.е. включает все DPD до, но не включая строки, которые соответствуют текущей дате депозита .Если никаких предыдущих записей не было, то это ноль или 0.
Снимок экрана: ![enter image description here](https://i.stack.imgur.com/08ZBF.png)
Примечания:
- данные сгруппированы по имени клиента и расширяются по датам депозита
- в каждой группе, среднее значение рассчитывается с использованием только значений из предыдущих строк.
- вВ начале каждого нового клиента среднее значение равно 0 или, в качестве альтернативы, равно нулю, поскольку отсутствуют предыдущие записи, из которых можно сформировать среднее значение
- . Фрейм данных упорядочен по имени клиента и Deposit_Date
.