我有這個示例數據集: HOME_TEAM AWAY_TEAM TIMES0 Argentina Uruguay 31 Uruguay Argentina 5我想了解這支球隊在其中所經歷的時間。 Matches TIMES3 Argentina-Uruguay 8我一直在嘗試以下代碼:af = af.merge( af, left_on=["home_team", "away_team"], right_on=["away_team", "home_team"], how='left')輸出是: home_team_x away_team_y values_x home_team_y away_team_y values_y0 Argentina Uruguay 96 Uruguay Argentina 80.01 Uruguay Argentina 80 Argentina Uruguay 96.0有沒有一種方法可以以Python方式實現并避免重復?
1 回答

元芳怎么了
TA貢獻1798條經驗 獲得超7個贊
一種使用方法pandas.Series.groupby.sum:
new_df = df["TIMES"].groupby(df.filter(like="TEAM").apply(frozenset, 1)).sum()
new_df.index = ["-".join([t1, t2]) for t1, t2 in new_df.index]
print(new_df.rename_axis("Matches").reset_index())
輸出:
Matches TIMES
0 Argentina-Uruguay 8
添加回答
舉報
0/150
提交
取消