循环遍历一个数据帧并将结果添加到另一个数据帧

时间:2019-12-12 13:57:32

标签: python pandas loops dataframe

我有一个足球成绩(足球)的数据框(df),然后,我创建了另一个数据框(homeformdf),我想用它来查看每个唯一项的前5个主队结果。 我需要的输出是主队进球总数。

df如下所示: enter image description here

homeformdf像这样: enter image description here

对于homeformdf中的每一行,我想看一下df,并汇总df中的前5个主场比赛“ home_team_goals_count”。

需要将得出的总和作为新列'HG'添加到homeformdf

我的想法是:

  • 使用homeformdf中的home_team_name的循环
  • 匹配df home_team_name中的第一个实例
  • 将home_team_goal_count放入homeformdf
  • 将1加到计数器
  • 然后在df中向下移动

这将重复进行直到计数器达到5,然后启动另一个循环以将home_team_name从hometeamdf下移1行,并重复直到最后一行。

我很高兴我可能不会像您想要的那样尝试代码,因此,关于如何最好地解决此问题的建议将不胜感激,因为我正在搜索圈中寻找答案-甚至不知道是否我正在考虑这项权利。

1 个答案:

答案 0 :(得分:1)

top_5 = df[['home_team_name', 'home_team_goal_count']].groupby('home_team_name').head(5)
goals_per_home_team = top_5.groupby('home_team_name').sum()

可能有一种方法可以做到这一点,但这是我可以最快地完成的工作。