merge有点类似SQL中的join,可以将不同数据集按照某些字段进行合并,得到新的数据集

 1.参数一览表:

  

2.一对一连接:默认情况下,会按照相同字段的进行连接

  例如有相同字段emp的两个df,merge的时候就会根据emp进行连接,且根据参数知道,默认是内连接:

  

  

  使用默认的不是很明了,通常情况下,我们推荐使用on明确连接条件,这和SQL里写ON是类似的:

  

3.多对一合并

  

 4.多对多连接(交叉连接)

  

5.key的规范化

  也就是上面介绍的,通过on来指定连接的key,明了且规范

  并且,合并的时候,如果有两个相同的列,但是on只指定了一列,另外一列相同时则会通过_x,_y等进行区分

  可以通过参数suffix进行控制:

  

6.通过left_on、right_on指定左右两边的列作为key,这样,当两边列名都不相等时使用

  这样即使两边不相等,也能连接了

  

7.内合并和外合并

  内合并就是保留两边都有的key,这点和SQL内连接的道理是一样的,这是默认的方式,也就是how参数的默认值,不再赘述

  外合并就是类似SQL的外连接了,对于没有连接上的数据,自动补全为NaN:这也就是SQL的全外连接

  

  其他的left、right同理:

  

  

8.列冲突解决

  也就是前面说的通过on控制列,加suffix来控制,默认值为_x,_y:

  

  

数据分析入门——pandas之合并函数merge的更多相关文章

  1. 数据分析入门——pandas之数据合并

    主要分为:级联:pd.concat.pd.append 合并:pd.merge 一.numpy级联的回顾 详细参考numpy章节 https://www.cnblogs.com/jiangbei/p/ ...

  2. 数据分析入门——pandas数据处理

    1,处理重复数据 使用duplicated检测重复的行,返回一个series,如果不是第一次出现,也就是有重复行的时候,则为True: 对应的,可以使用drop_duplicates来删除重复的行: ...

  3. 数据分析入门——pandas之Series

    一.介绍 Pandas是一个开源的,BSD许可的库(基于numpy),为Python编程语言提供高性能,易于使用的数据结构和数据分析工具. 官方中文文档:https://www.pypandas.cn ...

  4. 数据分析入门——Pandas类库基础知识

    使用python进行数据分析时,经常会用Pandas类库处理数据,将数据转换成我们需要的格式.Pandas中的有两个数据结构和处理数据相关,分别是Series和DataFrame. Series Se ...

  5. 数据分析入门——pandas之DataFrame多层/多级索引与聚合操作

    一.行多层索引 1.隐式创建 在构造函数中给index.colunms等多个数组实现(datafarme与series都可以) df的多级索引创建方法类似: 2.显式创建pd.MultiIndex 其 ...

  6. 数据分析入门——pandas之DataFrame基本概念

    一.介绍 数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 可以看作是Series的二维拓展,但是df有行列索引:index.column 推荐参考:https://www. ...

  7. 数据分析入门——pandas之DataFrame数据丢失

    一.数据丢失分类 1)nd中分为两种:None和np.nan(NaN) 其中,None是python中的对象,是一个object:而nan是一个float类型 两种不同的类型,运算速度也是不同的 2) ...

  8. C++ Opencv split()通道分离函数 merge()通道合并函数 使用操作详解

    一. split()通道分离函数 split()函数的C++版本有两个原型,他们分别是: C++: void split(const Mat& src, Mat*mvbegin);//& ...

  9. Oracle 数据库实现数据合并:merge

    1.使用update进行数据更新 1)最简单的更新 update tablea a set a.price=1.00 2)带条件的数据更新 update tablea a set a.price = ...

随机推荐

  1. mongodb驱动接口

    mongodb对外接口或驱动:https://docs.mongodb.com/ecosystem/drivers/,包含C,C++,Go,Python等. C驱动 mongodb的C驱动,即libm ...

  2. PostgreSQL数据库安装

    PostgreSQL数据库安装 postgresqllinux9.6.0 2018年01月31日 10时53分13秒 编译以及安装 源码编译 程序安装 数据库的启动和停止 启动数据库 关闭数据库 数据 ...

  3. 第二次作业之——AchaoCalculator

    AchaoCalculator(阿超计算器) GIT地址 我的GitHub GIT用户名 Pastrain 学号后五位 62213 博客地址 我的博客地址 作业链接 作业内容 Part.1 配置VS中 ...

  4. nginx安装记录

    1.下载nginx http://nginx.org/en/download.html         下载稳定版本,以nginx/Windows-1.12.2为例,直接下载 nginx-1.12.2 ...

  5. Spring源码窥探之:注解方式的AOP原理

    AOP入口代码分析 通过注解的方式来实现AOP1. @EnableAspectJAutoProxy通过@Import注解向容器中注入了AspectJAutoProxyRegistrar这个类,而它在容 ...

  6. Wideband Direction of Arrival Estimation Based on Multiple Virtual Extension Arrays

    基于多重虚拟扩展阵列的宽带信号DOA估计[1]. 宽带DOA估计是阵列信号处理领域的一个重要研究方向.在DOAs估计的实际应用中,信号总是会被噪声破坏,在某些情况下,源信号的数量大于传感器的数量,因此 ...

  7. LOJ P10016 灯泡 题解

    每日一题 day50 打卡 Analysis 用初中学的相似推一波式子,再用三分一搞就好了. #include<iostream> #include<cstdio> #incl ...

  8. c++ main函数

    vs 2015的运行环境 1.参数 int main(int argc, char* argv[]) 1)两个参数的类型是固定的,但参数名可以是符合命名规则的任何命名 2)argv[0]为执行文件的路 ...

  9. virtualenvwrapper 方便的virtualenv 包装

      virtualenvwrapper 是一个方便的virtualenv 包装我们可以用来方便的管理python 的开发环境,同时 也支持对于项目的管理 安装 pip 安装 pip install v ...

  10. HTML | CSS | JavaScript 常见错误

    持续更新 超链接鼠标悬浮后的状态 a:hover 拼写 图片文件的路径问题