我有一個看起來像這樣的數(shù)據(jù)框:team_1 score_1 team_2 score_2AUS 2 SCO 1ENG 1 ARG 0JPN 0 ENG 2我可以使用以下命令從一個團(tuán)隊(duì)中檢索所有數(shù)據(jù): #list specifiying team of interestteam = ['ENG']#slice 數(shù)據(jù)框以僅顯示列“Team 1”或“Team 2”值在指定字符串列表“team”中的行df.loc[df['team_1'].isin(team) | df['team_2'].isin(team)]team_1 score_1 team_2 score_2ENG 1 ARG 0JPN 0 ENG 2我現(xiàn)在如何才能只返回我的“團(tuán)隊(duì)”的分?jǐn)?shù),例如:team scoreENG 1ENG 2也許為每個團(tuán)隊(duì)創(chuàng)建一個索引以便過濾掉?也許對 team_1 和 team_2 列進(jìn)行編碼以過濾掉?
2 回答

森林海
TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個贊
new_df_1 = df[df.team_1 =='ENG'][['team_1', 'score_1']]
new_df_1 =new_df_1.rename(columns={"team_1":"team", "score_1":"score"})
# team score
# 0 ENG 1
new_df_2 = df[df.team_2 =='ENG'][['team_2', 'score_2']]
new_df_2 = new_df_2.rename(columns={"team_2":"team", "score_2":"score"})
# team score
# 1 ENG 2
然后連接兩個數(shù)據(jù)框:
pd.concat([new_df_1, new_df_2])
輸出是:
team score
0 ENG 1
1 ENG 2

眼眸繁星
TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個贊
添加回答
舉報(bào)
0/150
提交
取消