Я хочу рассчитать совокупный продукт для каждой даты и для каждого уникального идентификатора по временному ряду данных. Я понимаю, что groupby
и cumprod
нужно будет использовать вместе. Однако я не уверен в точном синтаксисе.
Вот некоторые примеры данных и требуемый вывод
data = {'date': ['2014-05-01','2014-05-01','2014-05-01','2014-05-01',
'2014-05-02','2014-05-02','2014-05-02','2014-05-02','2014-05-03',
'2014-05-03','2014-05-03', '2014-05-03'],'id':[1, 2, 3, 4, 1,
2, 3, 4, 1, 2, 3, 4],'obs': [1, 2, 3, 4, 4, 3, 2, 1, 1, 2, 3, 4]}
df = pd.DataFrame(data, columns = ['date', 'id','obs'])
df.index =df.date
del df['date']
df
id obs
date
2014-05-01 1 1
2014-05-01 2 2
2014-05-01 3 3
2014-05-01 4 4
2014-05-02 1 4
2014-05-02 2 3
2014-05-02 3 2
2014-05-02 4 1
2014-05-03 1 1
2014-05-03 2 2
2014-05-03 3 3
2014-05-03 4 4
Создан новый столбец cumproduct на основе значений в столбце obs
DF
id obs cumproduct
date
2014-05-01 1 1 1
2014-05-01 2 2 2
2014-05-01 3 3 3
2014-05-01 4 4 4
2014-05-02 1 4 5
2014-05-02 2 3 5
2014-05-02 3 2 5
2014-05-02 4 1 5
2014-05-03 1 1 6
2014-05-03 2 2 7
2014-05-03 3 3 8
2014-05-03 4 4 9
Любая помощь будет отличной:)