从两个不同数据帧的唯一行中获取差异的最佳方法是什么?

问题描述

例如,我们有两个来自两周比赛的数据框:

第 1 周统计数据:

排名 玩家 目标
1 杰夫 4
2 何塞 3
3 约翰 2
4 乔尔 1

第 2 周统计数据:

排名 玩家 目标
1 何塞 4
2 乔尔 3
3 杰夫 2
4 约翰 1

我想创建第三个数据帧来返回特定于玩家的差异,例如 df_differences = Week1['Jose'].subtract(Week2['Jose']),但规模要大得多,有 500 多个玩家。

我想为每个玩家分配一个唯一的玩家 ID,然后该函数只需要查找玩家 ID 并返回各自的差异。但即便如此,我仍然不太确定那会是什么样子。谢谢大家!

df1

编辑:CSV 片段

,Player,% Owned,+/-,GP,mask1,mask2
0,Player1,3%,0%,False,False
1,Player2,91%,1,False
2,Player3,99%,False
3,Player4,57%,-0.1%,False

df2

,False
4,Adam 0%,False
5,Adam,20%,False

解决方法

尝试将玩家设置为索引:

Week1.set_index('Player') - Week2.set_index('Player')

或者:

Week1.set_index('Player').sub(Week2.set_index('Player'))