我有一个赛程表和一个赛程表中每个队的平均成绩表。我想把赛程表中每个队每场比赛的平均成绩加在一起。
我有两个 Dataframe ,其中一个是使用multiindex组织的两个联盟的球队的比赛时间表:
red alliance blue alliance
team1 team2 team1 team2
1 1 2 3 4
2 1 3 2 4
3 4 1 3 2
以及关于每个团队的平均统计数据列表中的一个,其中团队编号是索引(在这种情况下,团队编号是连续的,并且从1开始,但真实的团队编号可能是1885,18438,19876等):
average score average penalties
team
1. 6.2. 1.1
2. 9.5. 0.2
3. 4.0. 1.3
4. 3.3. 0.5
我想在比赛时间表DataFrame中为每个联盟添加一个新列,其中包含两支球队平均水平的总和:
red alliance blue alliance
team1 team2 averageScore averagePenalties. team1 team2 averageScore averagePenalties
1 1 2 15.7 1.3 3 4. 7.3. 1.8
2 1 3 10.2. 2.4. 2 4. 12.8. 0.7
3 4 1 7.3. 1.8. 3 2. 13.5. 1.5
有没有比简单地遍历整个DataFrame更有效的方法来完成这个任务?本质上,有没有一种方法可以从一列索引中生成一个dataframe,series或list,然后将其中的两个(一个用于team1,一个用于team2)添加在一起?
1条答案
按热度按时间sdnqo3pr1#
您可以使用
.replace
来“Map”所有索引/值。要将其返回到原始 Dataframe 中,可以添加多索引并使用
.join
我没有太多地使用multiIndex列,所以可能有一种更简单的方法来写这个:
x一个一个一个一个x一个一个二个x