我有一个看起来像这样的数据框:team_1 score_1 team_2 score_2AUS 2 SCO 1ENG 1 ARG 0JPN 0 ENG 2我可以使用以下命令从一个团队中检索所有数据: #list specifiying team of interestteam = ['ENG']#slice 数据框以仅显示列“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我现在如何才能只返回我的“团队”的分数,例如:team scoreENG 1ENG 2也许为每个团队创建一个索引以便过滤掉?也许对 team_1 和 team_2 列进行编码以过滤掉?
2 回答
森林海
TA贡献2011条经验 获得超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
然后连接两个数据框:
pd.concat([new_df_1, new_df_2])
输出是:
team score
0 ENG 1
1 ENG 2
添加回答
举报
0/150
提交
取消