2017-03-10 9 views
1

私はプレーヤー、チーム、そして勝者を表すDataFrameを持っています。私がしたいのは、新しいDataFrameを作成することです。ここで、チームはインデックスであり、プレーヤーxがそのチームに属していたかどうか、そしてそのチームが勝ったかどうかです。グループ化によるダミー変数の作成

pd.DataFrame(data=[['Team A', 1], ['Team B', 0], ['Team B', 0], ['Team A', 1]], columns=['TEAM', 'WIN'], index=['Player 1', 'Player 2', 'Player 3', 'Player 4']) 

      TEAM WIN 
Player 1 Team A 1 
Player 2 Team B 0 
Player 3 Team B 0 
Player 4 Team A 1 

望ましい結果:

pd.DataFrame(data=[[1, 1, 0, 0, 1], [0, 0, 1, 1, 0]], columns=['Player 1', 'Player 2', 'Player 3', 'Player 4', 'WIN'], index=['Team A', 'Team B']) 

     Player 1 Player 2 Player 3 Player 4 WIN 
Team A   1   1   0   0 1 
Team B   0   0   1   1 0 

答えて

2

IIUCあなたが使用することができpivot_table()方法:

In [96]: df.reset_index().pivot_table(index='TEAM', columns='index', values='WIN', fill_value=0) 
Out[96]: 
index Player 1 Player 2 Player 3 Player 4 
TEAM 
Team A   1   0   0   1 
Team B   0   0   0   0 
関連する問題