У меня есть набор данных, который выглядит следующим образом
doc_created_month doc_created_year speciality doc_id count
8 2016 Acupuncturist 1
2 2017 Acupuncturist 1
4 2017 Acupuncturist 1
4 2017 Allergist 1
5 2018 Allergist 1
10 2018 Allergist 2
Я хочу сгруппировать по месяцам, годам и специальностям и получить кумулятивную сумму в столбце 'doc_id count'.
Это следующее, что я пробовал:
1) docProfileDf2.groupby(by=['speciality','doc_created_year','doc_created_month']).sum().groupby(level=[0]).cumsum()
2) docProfileDf2.groupby(['doc_created_month','doc_created_year','speciality'])['doc_id count'].apply(lambda x: x.cumsum())
Ни один из них не возвращает надлежащую накопленную сумму.Любое решение может помочь.
Ожидаемый результат должен быть:
doc_created_month doc_created_year speciality doc_id count
8 2016 Acupuncturist 1
2 2017 Acupuncturist 2
4 2017 Acupuncturist 3
4 2017 Allergist 1
5 2018 Allergist 2
10 2018 Allergist 4
Для каждого года, месяца и специальности я хочу сумму 'doc_id count'