在具有不同列名的pandas中连接2个数据帧[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在具有不同列名的pandas中连接2个数据帧[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我试图以一种奇怪的方式加入2个数据帧,并且想知道是否有人有任何建议。
我的第一个数据框看起来像这样,称之为df1
:
第二个看起来像,称之为df2
:
我希望我的最终输出能够将每个团队的统计数据合并到游戏数据框中各自的名称旁边。我想到这样做的一种蛮力方式是将TEAM
中的df1
列的名称更改为Home
,加入其中。然后,将TEAM
列更改为Visitor
并将其加入其中,但我觉得它们应该是一种更简单的方法。谁能给我这方面的建议,谢谢!
答案
您可以使用left_on
中的right_on
和pd.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 数据框忽略列名