私はこのデータフレームを持っています
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()
プレーヤー 1 の勝敗を数え続け、プレーヤー 2 についても同じようにしたいと思います。これは 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