我有一个足球比赛的数据框,如下所示:
team_id adversary_id round_id xG
262 263 1 0.45
263 262 1 0.34
245 254 1 0.67
254 245 1 0.15
...
如何摆脱重复的fixture并将数据帧更改为更宽的格式:
team_id adversary_id round_id xG_team xG_adversary
262 263 1 0.45 0.34
245 254 1 0.67 0.15
...
先用numpy
,sort
再用merge
df[['team_id','adversary_id']] = np.sort(df[['team_id','adversary_id']].values,axis=1)
out = df.iloc[0::2].merge(df.iloc[1::2],on = ['team_id','adversary_id','round_id'], suffixes = ('_team','_adversary'))
Out[403]:
team_id adversary_id round_id xG_team xG_adversary
0 262 263 1 0.45 0.34
1 245 254 1 0.67 0.15