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. 背景 半透明问题 rgba + filter

    <html style=" background: violet;"><head><meta charset="utf-8"> ...

  2. jenkins系列(9)--插件之Archive The Artifacts

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  3. 京东Java面试题(二)

    1.set集合从原理上如何保证不重复 1)在往set中添加元素时,如果指定元素不存在,则添加成功.也就是说,如果set中不存在(e==null ? e1==null : e.queals(e1))的元 ...

  4. python中几个实用的文件操作

    1. 判断指定目录是否存在: os.path.exists(input_folder) 2. 判断指定目录是不是文件夹 os.path.isdir(input_folder) 3. 判断指定目录是不是 ...

  5. 如何释放vector变量

    std::vector<cv::Point> probp; std::vector<int> plabel; plabel.clear(); std::vector<in ...

  6. Mac OS 基于 VirtualEnv 的安装 tensorflow 1.3.0

    如果不行的话,就用conda装吧 https://www.jianshu.com/p/d54546ab315e 推荐使用 virtualenv 创建一个隔离的容器, 来安装 TensorFlow. 这 ...

  7. Spring Boot启动 Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator错误

    开始运行得很好的项目,因为前一天高度了项目结构和名称突然报上面的错误 查了很多网上资料很多解决方案 造成这个错误的原因有很多,例如 1.@Entity 类有变动,无非正常生成对应的数据库. 解决:使用 ...

  8. tesseract text2image windows

    text2image.exe --text="X:\xxx.txt" --outputbase="X:\test.font.exp0" --fontconfig ...

  9. mos如何工作参考地址

    https://wenku.baidu.com/view/c118c3fb360cba1aa811da9d.html?qq-pf-to=pcqq.c2c

  10. 多名历年高考状元最终选择做中国顶尖黑客 - imsoft.cnblogs

    原标题:揭秘中国顶尖黑客:二分之一是历年高考[微博]状元 “二分之一是各地的历年高考状元,二分之一是数学专业,二分之一来自微软.” Keen这样的团队是坚决与黑产划清界限的,这也是圈内的“道德洁癖”, ...