У меня есть этот фрейм данныхпанды GroupBy значения другого столбца
frame = pd.DataFrame({'player1' : ['Joe', 'Steve', 'Bill', 'Doug', 'Steve','Bill','Joe','Steve'],
'player2' : ['Bill', 'Doug', 'Steve', 'Joe', 'Bill', 'Steve', 'Doug', 'Bill'],
'winner' : ['Joe','Steve' , 'Steve','Doug', 'Bill', 'Steve', 'Doug', 'Steve'],
'loser' : ['Bill', 'Doug', 'Bill', 'Joe', 'Steve', 'Bill', 'Joe', 'Bill'],
'ones' : 1})
я могу сохранить текущую сумму, сколько раз победитель выиграл, делая это.
frame['winners_wins'] = frame.groupby('winner')['ones'].cumsum()
Я хотел бы сохранить текущий счет побед и потерь player1 в то же самое и для player2. Я думаю, что я должен быть в состоянии сделать это с помощью функции groupby, но я не знаю, как ее записать.
редактировать:
Я не говорил, это очень хорошо в первый раз. Я хотел бы следить за каждым отдельным игроком. Таким образом, желаемый результат будет:
player1 player2 winner loser player1_wins player2_wins
Joe Bill Joe Bill 1 0
Steve Doug Steve Doug 1 0
Bill Steve Steve Bill 0 2
Doug Joe Doug Joe 1 1
Steve Bill Bill Steve 2 1
Bill Steve Steve Bill 1 3
Joe Doug Doug Joe 1 2
Steve Bill Steve Bill 3 1