Python 如何将列中的两个数据框与其值对齐?

Python 如何将列中的两个数据框与其值对齐?,python,pandas,Python,Pandas,我正在对梦幻英超比赛的足球数据进行som分析。 我已经下载了每个游戏周的.txt文件,其中包含该游戏中每个玩家的统计数据 然而,由于球员离开和到达英超联赛,球员在每个比赛周文件中都没有完全对齐。这张图片显示了球员亚伦·康诺利是如何在第1周到第4周之间进入联盟的,从而抵消了所有其他球员 我想要实现的是两个数据集,其中相同的播放器位于两个数据集中的同一行 我之所以要这样做,是因为有40个游戏周,我使用循环来组合不同游戏周之间的数据,并创建新列 我已经查看了pandas.align()方法,但无法找

我正在对梦幻英超比赛的足球数据进行som分析。 我已经下载了每个游戏周的.txt文件,其中包含该游戏中每个玩家的统计数据

然而,由于球员离开和到达英超联赛,球员在每个比赛周文件中都没有完全对齐。这张图片显示了球员亚伦·康诺利是如何在第1周到第4周之间进入联盟的,从而抵消了所有其他球员

我想要实现的是两个数据集,其中相同的播放器位于两个数据集中的同一行

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

我已经查看了pandas.align()方法,但无法找出如何对列值“name”进行对齐


编辑:有40个游戏周和超过500个项目pr.gameweek,所以我不能手动进入并对齐它们。Aaron Connolly只是一个例子,但在不同的游戏周中有多个偏移量。我希望所有40个数据集中的每个玩家都在同一行。

只需使用
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'))
然后,要取回您的
名称
列,您可以执行以下操作:

aligned1 = aligned.reset_index()

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

总共有超过20000个数据点需要处理,因此我需要一种基于“名称”列中字符串的自动方式。