Python 当值重复多次时,如何查找列的总数?试图找到“答案”;“最终得分”;一个NHL游戏的有条件

Python 当值重复多次时,如何查找列的总数?试图找到“答案”;“最终得分”;一个NHL游戏的有条件,python,pandas,Python,Pandas,我试图计算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'],

我试图计算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)

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

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


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

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

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

停止回滚编辑,您正在使您的问题变得不可读。问题实际上与机器学习无关-请不要垃圾邮件无关的标签(已删除);另外,我建议你接受更有经验的用户的编辑,他们试图让你的文章更具可读性。你说的“时间0”是什么意思。现在是
19:29
。您的输入数据帧的语法无效,您没有提供所需的输出。请检查并创建一个实际有效的数据帧。嘿,最后一个问题…我如何才能使该行仅在时间_经过的值变为20:00时创建?示例中提供的代码没有显示游戏的结束,但我如何才能准确地创建您在上面所做的操作,但只能在经过的时间变为20:00时(即在游戏结束时)?
Time\u-appeased=0
是否意味着游戏的开始?游戏的最终比分应该是3比1。时间流逝以加拿大曲棍球为标准,因此在加拿大,比赛实际上是“上升”的,而NHL则使用这一惯例。很抱歉造成混淆,然后将
idxmax()
更改为
idxmin()
嘿,你完全回答了这个问题,我很抱歉,我刚刚连接了点。真是太感谢你了!