摘要

数据分析与建模的时候大部分时间在数据准备上,包括对数据的加载、清理、转换以及重塑。pandas提供了一组高级的、灵活的、高效的核心函数,能够轻松的将数据规整化。这节主要对pandas合并数据集的merge函数进行详解。(用过SQL或其他关系型数据库的可能会对这个方法比较熟悉。)码字不易,喜欢请点赞!!!

1.merge函数的参数一览表

2.创建两个DataFrame

3.pd.merge()方法设置连接字段。
默认参数how是inner内连接,并且会按照相同的字段key进行合并,即等价于on=‘key’。

也可以显示的设置on=‘key’,这里也推荐这么做。

当两边合并字段不同时,可以使用left_on和right_on参数设置合并字段。当然这里合并字段都是key所以left_on和right_on参数值都是key。

4.pd.merge()方法设置连接方法。
主要包括inner(内连接)、outer(外链接)、left(左连接)、right(右连接)。
参数how默认值是inner内连接,上面的都是采用内连接,连接两边都有的值。
当采用outer外连接时,会取并集,并用NaN填充。

外连接其实左连接和右连接的并集。左连接是左侧DataFrame取全部数据,右侧DataFrame匹配左侧DataFrame。(右连接right和左连接类似)

5.pd.merge()方法索引连接,以及重复列名命名。
pd.merge()方法可以通过设置left_index或者right_index的值为True来使用索引连接,例如这里df1使用data1当连接关键字,而df2使用索引当连接关键字。

从上面可以发现两个DataFrame中都有key列,merge合并之后,pandas会自动在后面加上(_x,_y)来区分,我们也可以通过设置suffixes来设置名字。

姊妹篇:pandas.concat用法详解!!!

[Python3]pandas.merge用法详解相关推荐

  1. python argv 详解_Python3 sys.argv[ ]用法详解

    sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个"外部"很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可 ...

  2. python多个strip_python 格式化多个Python3中strip()、lstrip()、rstrip()用法详解

    Python中有三个去除头尾字符.空白符的函数,它们依次为: strip: 用来去除头尾字符.空白符(包括n.r.t.' ',即:换行.回车.制表符.空格) lstrip:用来去除开头字符.空白符(包 ...

  3. Oracle Merge Into 的用法详解实例

    Oracle merge into 的用法详解实例 作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表: 语法: MERGE INTO [your table- ...

  4. python中rstrip用法_浅谈Python3中strip()、lstrip()、rstrip()用法详解

    简单来说,三种方法是为了删除字符串中不同位置的指定字符.其中,strip()用于去除字符串的首尾字符,同理,lstrip()用于去除左边的字符,rstrip()用于去除右边的字符 Python中有三个 ...

  5. Pandas中loc和iloc函数用法详解(源码+实例)

    loc函数:通过行索引 "Index" 中的具体值来取行数据(如取"Index"为"A"的行) iloc函数:通过行号来取行数据(如取第二行 ...

  6. python3 isinstance用法_对python中assert、isinstance的用法详解

    1. assert 函数说明: Assert statements are a convenient way to insert debugging assertions into a program ...

  7. python3 isinstance用法_python isinstance函数用法详解

    这篇文章主要介绍了python isinstance函数用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 isinstance() 函数来判断 ...

  8. python中的super用法详解_Python中super函数用法实例分析

    本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...

  9. python explode_pandas dataframe 中的explode函数用法详解

    在使用 pandas 进行数据分析的过程中,我们常常会遇到将一行数据展开成多行的需求,多么希望能有一个类似于 hive sql 中的 explode 函数. 这个函数如下: Code # !/usr/ ...

最新文章

  1. 2022-2028年中国TAC薄膜行业市场全景评估及投资前景规划报告
  2. linux上安装mysql,tomcat,jdk
  3. nChain首席科学家CSW:闪电网络会把BCE变成空洞的幽灵
  4. JMJS系统总结系列----Jquery分页扩展库(五)
  5. 机器学习性能改善备忘单
  6. 疯子的算法总结(九) 图论中的矩阵应用 Part 1 POJ3613 Cow Relays
  7. LeetCode 7 Reverse Integer(反转数字)
  8. [NOIP2016]愤怒的小鸟 状态压缩dp
  9. python虚拟环境 pyenv_Python 虚拟环境 pyenv、venv(pyvenv)、virtualenv之间的区别
  10. 网络监视工具nethogs命令
  11. SAP License:按BOM进行原料耗用拆分-模拟面包制造
  12. 网络爬虫之Xpath用法汇总
  13. io_uring 新异步 IO 机制,性能提升超 150%,堪比 SPDK
  14. java.sql.SQLException: sql injection violation, syntax error: TODO QUES
  15. 安卓入门教程(十五)- Fragment,Service,WAMP下载
  16. 【转】如何设置服务器网卡千兆变万兆
  17. html大鱼吃小鱼游戏,大鱼吃小鱼 网页游戏源码(javascript)
  18. TweenMax介绍
  19. 管理者的人品的重要性
  20. session cookie的区别最全总结

热门文章

  1. stm32——中断优先级管理
  2. 自定义复选框checkbox样式
  3. 2009成渝微型计算机处于空白,学海园大联考 2020届高三信息卷(二)文综答案
  4. Ubuntu Server 20.04 安装桌面(图形界面) 以及 远程桌面
  5. 深度学习——损失函数(Regression Loss、Classification Loss)
  6. 应用层——HTTP协议
  7. linux下安装安装jdk和安装android studio
  8. css如何去掉或修改浏览器默认滚动条
  9. c语言remainder函数,【总结】C/C++取余操作:%、fmod()、remainder()的区别和联系
  10. 关于@NotNull和@NotBlank的问题