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

标签 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”求和。

结果总和需要添加到 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/

相关文章:

python - Ubuntu 中的多个版本的 Python

Python - 与 __contains__ 相反

python - 当不重复跨越列标题时,如何将 csv 文件作为 MultiIndexed DataFrame 读取?

c - C 中的数字序列移位?

Java:基于舍入的循环和打印

python - Python 十进制精度

python - 在 python 中将字节操作为二进制级别

python - 如何获取包含与索引对应的特定值的列列表作为 Pandas 数据框中的新列?

python - 迭代 CSV 列时出现 IndexError

python - MQTT 连接在 Screen session 中不起作用