当值重复多次时,如何找到列的总数?有条件地寻找NHL游戏的“最终得分”

2024-05-15 22:05:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图计算NHL曲棍球的最终得分,作为客队和主队在比赛结束时进球数的函数

这些值是重复的,在每场比赛结束时,我希望能够轻松地确定哪支球队获胜,并创建一个新的列

df = pd.DataFrame({'Game_Id':[200001,200001,200001],
         'Away_Score': [2,2,3],
         'Home_Score':[1,1,1],
          'Time_Elapsed' : ['19:21','19:29','19:29'],
         'Away_Team': ['MTL','MTL','MTL'],
         'Home_Team': ['BOS','BOS','BOS']})

注:本场比赛最终比分为3比1,MTL胜出(6比3 MTL)

我试图在众多的比赛循环,并希望通过创建一个列,其中考虑客场球队和主场球队在比赛结束时的得分,找到比赛的赢家。我有很多比赛我想这样做,我不知道怎么做

最后,它可能会使事情复杂化…而且会锦上添花…但是如果你有任何考虑,当时间到达0时,我如何才能找到总分,那也太棒了

类似于df[['Final_Score]]=?但有一个“循环”


Tags: 函数dfhome曲棍球teampdscorenhl
1条回答
网友
1楼 · 发布于 2024-05-15 22:05:11

要获得每场比赛的最后一行:

df = pd.DataFrame({'Game_Id':[200001, 200001, 200001],
         'Away_Score': [2,2,3],
         'Home_Score':[1,1,1],
          'Time_Elapsed' : ['19:21','19:29','19:29'],
         'Away_Team': ['MTL','MTL','MTL'],
         'Home_Team': ['BOS','BOS','BOS']})

df['Time_Elapsed'] = pd.to_timedelta(df['Time_Elapsed'] + ':00')
idx = df.groupby('Game_Id')['Time_Elapsed'].idxmax()
df.loc[idx]

结果:

   Game_Id  Away_Score  Home_Score Time_Elapsed Away_Team Home_Team
1   200001           2           1     19:29:00       MTL       BOS

相关问题 更多 >