如何在列中将两个熊猫数据框的值对齐?

时间:2020-07-03 11:48:07

标签: python pandas

我正在为梦幻超级联赛的足球数据做som分析。 我已经为每个游戏周下载了.txt文件,其中包含该游戏的每个玩家的统计信息。

但是,由于球员离开并到达英超联赛,球员在每个游戏周档案中的位置都不完全一致。该图显示了玩家Aaron Connolly在游戏第1周至第4周之间如何进入联盟,从而抵消了所有其他玩家的影响。

enter image description here

我想要实现的是两个数据集,其中同一位玩家位于同一行中。

之所以要这样做,是因为有40个游戏周,并且我使用循环来组合不同游戏周之间的数据并创建新的列。

我看过pandas.align()方法,但无法弄清楚如何在列值“名称”上对齐

编辑:有40个游戏周,超过500个条目。游戏周刊,所以我无法手动进入并对齐它们。亚伦·康诺利(Aaron Connolly)只是一个例子,但在不同的比赛周中都有多次抵消。我希望每个球员在所有40个数据集中都在同一行。

2 个答案:

答案 0 :(得分:0)

只需使用setindex

df1 = pd.DataFrame({'a': [1,2, 3], 'b': [2, 34, 4]})
df2 = pd.DataFrame({'a': [1,4, 3], 'b': [2, 34, 4]})
aligned1, aligned2 = df1.set_index('a').align(df2.set_index('a'))

然后将您的name列取回,您可以执行以下操作:

aligned1 = aligned.reset_index()

答案 1 :(得分:0)

您所关心的是不同游戏周数据的列名之间是否存在冲突?您可以在重命名所有数据框后合并它们。

相关问题