这个问题已经在这里有了答案: > Pandas Merging 101 2个
我正在尝试基于“ X”列在Python中合并两个数据框.
左侧数据框中的X列具有非唯一值,右侧数据框中的X列具有唯一值.如何将值从右侧数据帧合并到左侧数据帧?
我想将df2中的行合并到df1中以形成df3
df1 = pd.DataFrame({'A': ['NA','EU','LA','ME'],
'B': [50, 23,21,100],
'X': ['IW233', 'IW455', 'IW455', 'IW100']})
df2 = pd.DataFrame({'C': [50, 12, 12, 11, 10, 16],
'X': ['IW455', 'IW200', 'IW233', 'IW150', 'IW175', 'IW100'],
'D': ['Aug', 'Sep', 'Jan', 'Feb', 'Dec', 'Nov']})
df3:1
解决方法:
您可以将merge
与左联接一起使用,如果仅X联接的参数列可以忽略:
df = pd.merge(df1, df2, how='left')
print (df)
A B X C D
0 NA 50 IW233 12 Jan
1 EU 23 IW455 50 Aug
2 LA 21 IW455 50 Aug
3 ME 100 IW100 16 Nov
如果多个相同的列名称:
df = pd.merge(df1, df2, on='X', how='left')
print (df)
A B X C D
0 NA 50 IW233 12 Jan
1 EU 23 IW455 50 Aug
2 LA 21 IW455 50 Aug
3 ME 100 IW100 16 Nov
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。