在具有不同列名的pandas中连接2个数据帧[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在具有不同列名的pandas中连接2个数据帧[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我试图以一种奇怪的方式加入2个数据帧,并且想知道是否有人有任何建议。

我的第一个数据框看起来像这样,称之为df1

teamStatsDF

第二个看起来像,称之为df2

teamGames

我希望我的最终输出能够将每个团队的统计数据合并到游戏数据框中各自的名称旁边。我想到这样做的一种蛮力方式是将TEAM中的df1列的名称更改为Home,加入其中。然后,将TEAM列更改为Visitor并将其加入其中,但我觉得它们应该是一种更简单的方法。谁能给我这方面的建议,谢谢!

答案

您可以使用left_on中的right_onpd.merge参数。

df1 = pd.DataFrame({'col1' : ['a','b','c','d','e','b'], 'val2': [31,43,23,54,65,23]})
df2 = pd.DataFrame({'col2': ['a','b','c'], 'val1': [11,22,33]})

df3 = pd.merge(df1, df2, left_on='col1', right_on='col2', how='left')
print(df3)

  col1 val2 col2 val1
0   a   31   a   11.0
1   b   43   b   22.0
2   c   23   c   33.0
3   d   54  NaN  NaN
4   e   65  NaN  NaN
5   b   23   b   22.0

以上是关于在具有不同列名的pandas中连接2个数据帧[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python Pandas - 具有不同列的 Concat 数据框忽略列名

在由具有不同列名的 DataFrame 组成的字典中应用函数

删除重复的pandas数据帧

Python合并两个具有不同日期时间的数据框[重复]

将 Pandas 数据帧与多索引列和不规则时间戳连接起来

在熊猫中重新排列列然后进行连接