我有一个足球结果(足球)的数据框 (df),据此,我创建了另一个数据框 (homeformdf),我想用它来查看每个唯一条目的前 5 个主队结果。 我需要的输出是主队进球的总和。
对于 homeformdf 中的每一行,我想查看 df 并对 df 中的前 5 场主场比赛“home_team_goals_count”求和。
结果总和需要添加到 homeformdf 作为新列“HG”
我的想法是:
- 使用 homeformdf 中的 home_team_name 的循环
- 匹配 df home_team_name 中的第一个实例
- 将 home_team_goal_count 放入 homeformdf
- 向计数器加 1
- 并在 df 中向下移动一行
这将重复,直到计数器达到 5,然后启动另一个循环,将 home_team_name 从 hometeamdf 向下移动 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()
可能有一种方法可以在一行中完成此操作,但这是我可以最快完成的工作。
关于python - 循环遍历 1 个数据帧并将结果添加到另一个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59306243/