Я пытаюсь выполнить накопительную сумму для кадра данных, который содержит несколько идентичных имен. Я хотел бы создать еще один df, который бы накапливал сумму очков, набранных за игрока, а также признавал, что имена иногда не являются уникальными. Школа будет вторым критерием. Вот пример того, на что я смотрю:
df = pd.DataFrame({'Player':['John Smith', 'John Smith', 'John Smith', 'John Smith', 'John Smith'],
'School':['Duke', 'Duke', 'Duke', 'Kentucky', 'Kentucky'],
'Date':['1-1-20', '1-3-20', '1-7-20', '1-3-20', '1-08-20'],
'Points Scored':['20', '30', '15', '8', '9']})
print(df)
Player School Date Points Scored
0 John Smith Duke 1-1-20 20
1 John Smith Duke 1-3-20 30
2 John Smith Duke 1-7-20 15
3 John Smith Kentucky 1-3-20 8
4 John Smith Kentucky 1-08-20 9
Я пытался использовать df.groupby (by = ['Player', 'School', 'Date']). Sum (). groupby (level = [0]). cumsum () ... но это, похоже, не дифференцирует второй критерий. Я также пытался отсортировать значения по школе, но не смог найти там удачи. Ожидаемый результат будет выглядеть следующим образом:
Player School Date Points Scored Cumulative Sum Points Scored
0 John Smith Duke 1-1-20 20 20
1 John Smith Duke 1-3-20 30 50
2 John Smith Duke 1-7-20 15 65
3 John Smith Kentucky 1-3-20 8 8
4 John Smith Kentucky 1-08-20 9 17
Заранее спасибо за помощь!