首页 > 数据库 > 数据库开发技术 > 数据分析常用函数—pd.merge
本文目录
merge函数参数详解
merge函数简单实例
2.1 两个数据框
2.2 按不同方式拼接两个数据框
merge函数进阶实例
3.1 两个数据框
3.2 按不同方式拼接两个数据(
一、merge函数参数详解

pd.merge(left, right, how= 'inner', on=None, left_on=None,right_on=None, left_index = False, right_index = False,sort = False, suffixes=('_x', '_y'), copy = True,indicator = False, validate=None)
参数详解:
left:待拼接的左侧数据框。
right:待拼接的右侧数据框。
二、merge函数简单实例

1.第一个数据框中存放了四位同学的数学成绩
import pandas as pddate1 = pd.DataFrame({'name':['xie', 'li', 'wang', 'chen'],'Math':[88, 90, 54, 70]})
具体数据格式如下:

2.第二个数据框中存放了四位同学的英语成绩
date2 = pd.DataFrame({'name':['xie', 'li', 'fan', 'sun'],'English':[94, 83, 89, 33]})
具体数据格式如下:

1. 以默认的方式连接两个数据框
pd.merge(date1, date2)
没有指定连接键时,默认采取两个数据框中的都有的列做为连接键。且连接方式how默认为inne(保留两个数据框中都有信息的列)。
2. how为left
pd.merge(date1, date2, how = 'left')
以左数据框中的连接键为基准,匹配右数据框中的信息,并连接。如果没有指定连接关键字,默认相同名字的那一列作为匹配键。
3. how为right
pd.merge(date1, date2, how = 'right')
pd.merge(date1, date2, how = 'outer')
pd.merge(date1, date2, how= 'inner',left_index=True,right_index=True)
按默认index进行连接,也可以在建立数据框时自己指定index。
若两个数据框除连接键外,还有相同列名,默认左侧数据框中的相同列名后加_x,右侧数据框中相同列名后加_y,见上图中的name_x和name_y。
三、merge函数进阶实例

1.第一个数据框中存放了四位同学的姓名、年龄和成绩。
import pandas as pddate1 = pd.DataFrame({'name1':['xie', 'li', 'wang', 'chen'],'age1':[12, 11, 11, 13],'music':[95,66,98,78],'Math':[88, 90, 54, 70]})
具体数据格式如下:

date2 = pd.DataFrame({'name2':['xie', 'li', 'fan', 'sun'],'age2':[12, 11, 13, 10],'English':[94, 83, 89, 33]})

由于两个数据框中没有相同列名,所以不指定连接关键字时会报错。
1.以左连接的方式连接两个数据框
pd.merge(date1, date2, how = 'left', left_on = 'name1', right_on = 'name2')得到结果如下:

2.指定两列为连接键
pd.merge(date1, date2, how = 'left', left_on = ['name1', 'age1'], right_on = ['name2', 'age2'])得到结果如下:

3.用sort对连接键值进行排序
pd.merge(date1, date2, how = 'left', left_on = ['name1', 'age1'], right_on = ['name2', 'age2'], sort = True)
按连接键的顺序对数据框进行排序。
原文作者:阿黎逸阳的代码;如有侵权,请联系管理员删除。