Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 循环遍历1个数据帧,并将结果添加到另一个数据帧_Python_Pandas_Loops_Dataframe - Fatal编程技术网

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

Python 循环遍历1个数据帧,并将结果添加到另一个数据帧,python,pandas,loops,dataframe,Python,Pandas,Loops,Dataframe,我有一个足球成绩的数据框(df),从中,我创建了另一个数据框(homeformdf),我想用它来查看每个独特条目的前5个主队成绩。 我需要的输出是主队得分的总和 df如下所示: homeformdf如下所示: 对于homeformdf中的每一行,我想看看df,并从df中总结前5场主场比赛的“主场\团队\进球\计数” 结果总和需要作为新列“HG”添加到homeformdf中 我的想法是: 使用homeformdf中的主团队名称的循环 匹配df home\u团队名称中的第一个实例 将主场\团队

我有一个足球成绩的数据框(df),从中,我创建了另一个数据框(homeformdf),我想用它来查看每个独特条目的前5个主队成绩。 我需要的输出是主队得分的总和

df如下所示:

homeformdf如下所示:

对于homeformdf中的每一行,我想看看df,并从df中总结前5场主场比赛的“主场\团队\进球\计数”

结果总和需要作为新列“HG”添加到homeformdf中

我的想法是:

  • 使用homeformdf中的主团队名称的循环
  • 匹配df home\u团队名称中的第一个实例
  • 将主场\团队\目标\计数放入homeformdf
  • 在计数器上加1
  • 在df中向下移动一行
这将重复,直到计数器点击5,然后启动另一个循环,将home_team_名称从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()

可能有一种方法可以在一行中完成这项工作,但这是我可以最快完成的工作。

我不太清楚您希望输出df是什么样子,但您不应该逐行循环数据帧。是的,当然。这是我的经验,不过谢谢你指出这一点。我有一个比我想象的要简单得多的答案!