Pandas.merge函数说明:通过键拼接列

来源:互联网 发布:淘宝加热棒 编辑:程序博客网 时间:2024/05/29 16:54

pandas.merge函数功能:将两组列数据拼接到一起 

一般的简单调用模式:

merge(left, right, how='inner', on=None) 

参数说明:
left与right:两个不同的DataFrame。
how:指的是合并(连接)的方式有inner(内连接),left(左外连接),right(右外连接),outer(全外连接);默认为inner。
on : 指的是用于连接的列索引名称。必须存在右右两个DataFrame对象中,如果没有指定且其他参数也未指定则以两个DataFrame的列名交集做为连接键。

数据库连接方式说明参考:      SQL的四种连接-左外连接、右外连接、内连接、全连接

举例说明:

举例一(说明:使用重叠列key作为连接键。使用内连接:新的key列中的元素是df2和df1的key列中元素的交集,所以其中没有c键)

df1=DataFrame({'key':['a','b','b'],'data1':range(3)})    df2=DataFrame({'key':['a','b','c'],'data2':range(3)})    pd.merge(df1,df2)   #没有指定连接键,默认用重叠列名,没有指定连接方式,data1和data2都是 0 1 2
#输出结果是:   data1 key  data2  0      0   a      0  1      1   b      1  2      2   b      1  

举例二(说明:使用左外连接方式:包括df2和df1的连接键的交集和左表(df2)中的所有连接键,右表(df1)中中没有键值用NaN补充)

pd.merge(df2,df1,how='left')    #通过how,指定连接方式  
输出结果是:   data2 key  data1  0      0   a      0  1      1   b      1  2      1   b      2  3      2   c    NaN  
同理可得右外连接方法;另外全外连接取得是两个表中的所有键值,也就是键值元素的并集。

举例三:(说明:多键连接时用on参数指定连接键。下面的一行代码指定key1和key2列为连接键。)

pd.merge(df1,df2,on=['key1','key2'] 



注:更详尽的Pandas.merge函数说明请参考:    http://blog.csdn.net/zutsoft/article/details/51498026





原创粉丝点击