Pandas 连接合并函数merge()详解
更新时间:2021年04月07日 09:40:45 作者:ckSpark
这篇文章主要介绍了Pandas 连接合并函数merge()详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
一、merge函数用途
pandas中的merge()函数类似于SQL中join的用法,可以将不同数据集依照某些字段(属性)进行合并操作,得到一个新的数据集。
二、merge()函数的具体参数
用法:
DataFrame1.merge(DataFrame2, how=‘inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', ‘_y'))
参数说明
参数 | 说明 |
---|---|
how | 默认为inner,可设为inner/outer/left/right |
on | 根据某个字段进行连接,必须存在于两个DateFrame中(若未同时存在,则需要分别使用left_on和right_on来设置) |
left_on | 左连接,以DataFrame1中用作连接键的列 |
right_on | 右连接,以DataFrame2中用作连接键的列 |
left_index | 将DataFrame1行索引用作连接键 |
right_index | 将DataFrame2行索引用作连接键 |
sort | 根据连接键对合并后的数据进行排列,默认为True |
suffixes | 对两个数据集中出现的重复列,新数据集中加上后缀_x,_y进行区别 |
三、merge用法举例
创建两个数据框
#利用字典dict创建数据框 dataDf1=pd.DataFrame({'lkey':['foo','bar','baz','foo'], 'value':[1,2,3,4]}) dataDf2=pd.DataFrame({'rkey':['foo','bar','qux','bar'], 'value':[5,6,7,8]}) print(dataDf1) print(dataDf2) >>> lkey value 0 foo 1 1 bar 2 2 baz 3 3 foo 4 rkey value 0 foo 5 1 bar 6 2 qux 7 3 bar 8
内连接(Inner)
#inner链接 dataLfDf=dataDf1.merge(dataDf2, left_on='lkey',right_on='rkey') >>> lkey value_x rkey value_y 0 foo 1 foo 5 1 foo 4 foo 5 2 bar 2 bar 6 3 bar 2 bar 8
右链接(Right)
#Right链接 dataDf1.merge(dataDf2, left_on='lkey', right_on='rkey',how='right') >>> lkey value_x rkey value_y 0 foo 1.0 foo 5 1 foo 4.0 foo 5 2 bar 2.0 bar 6 3 bar 2.0 bar 8 4 NaN NaN qux 7
全链接(Outer)
#Outer链接 dataDf1.merge(dataDf2, left_on='lkey', right_on='rkey', how='outer') >>> lkey value_x rkey value_y 0 foo 1.0 foo 5.0 1 foo 4.0 foo 5.0 2 bar 2.0 bar 6.0 3 bar 2.0 bar 8.0 4 baz 3.0 NaN NaN 5 NaN NaN qux 7.0
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
Python报错KeyError: ‘missing_key‘的有效解决方法
在 Python 编程中,报错信息常常让开发者感到困扰,其中,“KeyError: ‘missing_key’”是一个较为常见的报错,它可能在各种数据处理和字典操作的场景中出现,本文将深入探讨这个报错的原因,并提供多种有效的解决方法,帮助开发者快速解决此类问题2024-10-10
最新评论