pandas.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)

merge需要依据共同的某一列或者某一行来进行合并

left:  左表(DataFrame)

right:右表(DataFrame)

how:连接方式

  left:   仅保留左表的键

  right: 仅保留右表的键

  outer:两表的键取并集

  inner:两表的键取交集

on:用来对齐的那一列的名字,用到这个参数的时候一定要保证左表和右表用来对齐的那一列都有相同的列名.

left_on  :左侧DataFarme中用作连接键的列.
right_on:右侧DataFarme中用作连接键的列.

left_index :  将左侧的行索引用作其连接键 .
right_index :将右侧的行索引用作其连接键 .

sort :根据连接键对合并后的数据进行排序,默认为True.有时在处理大数据集时,禁用该选项可获得更好的性能.

suffixes :字符串值元组,用于追加到重叠列名的末尾,默认为(‘_x’,‘_y’).例如,左右两个DataFrame对象都有‘data’,则结果中就会出现‘data_x’,‘data_y’.

copy :设置为False,可以在某些特殊情况下避免将数据复制到结果数据结构中.

import pandas as pd

#左右字段相同时采用on
df1=pd.DataFrame({'name':['kate','herz','catherine','sally'],'age':[25,28,39,35]})
df2=pd.DataFrame({'name':['kate','herz','sally'],'score':[70,60,90]})
pd.merge(df1,df2,on=["name"],how="outer") #当左右连接字段不相同时,使用left_on,right_on
df1=pd.DataFrame({'name':['kate','herz','catherine','sally'],'age':[25,28,39,35]})
df2=pd.DataFrame({'call_name':['kate','herz','sally'],'score':[70,60,90]})
pd.merge(df1,df2,left_on=["name"],right_on=["call_name"],how="outer") #outer 外连接取并集,并用nan填充” #合并后删除重复的列
df1=pd.DataFrame({'name':['kate','herz','catherine','sally'],'age':[25,28,39,35]})
df2=pd.DataFrame({'call_name':['kate','herz','sally'],'score':[70,60,90]}) pd.merge(df1,df2,left_on='name',right_on='call_name').drop('name',axis=1) #按照索引位置合并
df1=pd.DataFrame({'name':['kate','herz','catherine','sally'],'age':[25,28,39,35]}).set_index("name")
df2=pd.DataFrame({'call_name':['kate','herz','sally'],'score':[70,60,90]}).set_index("call_name")
pd.merge(df1,df2,how="outer",left_index=True,right_index=True)

  

pandas的merge函数的更多相关文章

  1. python重要的第三方库pandas模块常用函数解析之DataFrame

    pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...

  2. pandas DataFrame apply()函数(1)

    之前已经写过pandas DataFrame applymap()函数 还有pandas数组(pandas Series)-(5)apply方法自定义函数 pandas DataFrame 的 app ...

  3. pandas DataFrame apply()函数(2)

    上一篇pandas DataFrame apply()函数(1)说了如何通过apply函数对DataFrame进行转换,得到一个新的DataFrame. 这篇介绍DataFrame apply()函数 ...

  4. merge函数:R语言,根据相同的列或ID合并不同的文件

    一般Excel就能实现根据相同的列或ID合并不同的文件,但对于大文件来说,比如几十个G的数据量,用Excel处理,不仅耗时,而且还会使电脑崩溃.R语言的优势就体现在这里了,处理大文件相当快. firs ...

  5. pandas DataFrame.shift()函数

    pandas DataFrame.shift()函数可以把数据移动指定的位数 period参数指定移动的步幅,可以为正为负.axis指定移动的轴,1为行,0为列. eg: 有这样一个DataFrame ...

  6. Js $.merge() 函数(合并两个数组内容到第一个数组)

    定义和用法 $.merge() 函数用于合并两个数组内容到第一个数组. 语法 $.merge( first, second )   参数 描述 first Array类型 第一个用于合并的数组,合并后 ...

  7. SAS学习笔记7 合并语句(set、merge函数)

    set函数:纵向合并数据集 set语句进行纵向合并.set语句的作用是将若干个数据集依次纵向连接,并存放到data语句建立的数据集中.若set后面只有一个数据集,此时相当于复制的作用 注:data语句 ...

  8. split()函数+merge()函数

    在图像处理时,我们接触到的彩色以RGB居多,为了分析图像在某一通道上的特性,需要将图像的颜色通道进行分离,或者是在对某一颜色通道处理后重新进行融合.opencv提供了split()函数来进行颜色通道的 ...

  9. pandas模块常用函数解析之Series(详解)

    pandas模块常用函数解析之Series 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器输入网 ...

随机推荐

  1. php file文件操作函数

    filemtime() 函数: filemtime() 函数返回文件内容上次的修改时间. 若成功,则时间以 Unix 时间戳的方式返回.若失败,则返回 false. <?php echo fil ...

  2. 麻省理工大学新发明:暗黑WiFi透视技术

    美国麻省理工学院(MIT)宣布,该大学的研究人员开发出了一种可以通过WiFi信号来检测人体移动情况的系统(Wi-Vi).据MIT介绍,该系统可以检测出钢筋混凝土墙壁背后的人体移动情况,其未来可以被作为 ...

  3. 看黑客如何远程黑掉一辆汽车 - BlackHat 2015 黑帽大会总结 day 1

    0x00 序 今天是Black Hat 2015第一天,九点钟开场.开场介绍是由Black Hat创始人Jeff Moss讲的.随后又请来了Stanford law school的Jennifer G ...

  4. CentOS 6.5使用yum快速搭建LAMP环境

    由于这里采用yum方式安装,前提是我们必须配置好yum源.为了加快下载速度,建议使用网易的yum源. 这种方式对于初学者来说,非常方便,但是可定制性不强,而且软件版本较低.一般用于实验和学习环境. 1 ...

  5. webstrom git 版本控制

    1.配置 2.用法

  6. C语言中右大括号(})后是否加分(;)号问题

    在C语言中定义结构体时,右大括号后是需要加分号的,在C++中使用class关键字定义类时,右大括号后也是需要加分号的,而在定义函数时,右大括号后是不需要加分号的. 对这个问题的解释就是右花括号}能代表 ...

  7. IPM简介

    1.IPM包含3个函数. image2ground:将图像中的像素点(u, v)对应到地平面上(Z=1)IPM的像素点(x, y): ground2image:将IPM中的像素点(x, y)基于IPM ...

  8. 大家一起做训练 第一场 E Number With The Given Amount Of Divisors

    题目来源:CodeForce #27 E 题目意思和题目标题一样,给一个n,求约数的个数恰好为n个的最小的数.保证答案在1018内. Orz,这题训练的时候没写出来. 这道题目分析一下,1018的不大 ...

  9. 使用C#和MSMQ开发消息处理程序

    简介 MSMQ(微软消息队列)是Windows操作系统中消息应用程序的基础,是用于创建分布式.松散连接的消息通讯应用程序的开发工具.消息队列和电子邮件有着很多相似处,他们都包含多个属性,用于保存消息, ...

  10. python之 利用字典与函数实现switch case功能

    Python不像C/C++,Java等有switch-case的语法.不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现. 字典+函数实现switch模式下的四则运算:( ...