[Python3]pandas.merge用法详解

[Python3]pandas.merge用法详解摘要数据分析与建模的时候大部分时间在数据准备上,包括对数据的加载、清理、转换以及重塑。pandas提供了一组高级的、灵活的、高效的核心函数,能够轻松的将数据规整化。这节主要对pandas合并数据集的merge函数进行详解。(用过SQL或其他关系型数据库的可能会对这个方法比较熟悉。)1.merge函数的参数一览表2.创建两个DataFrame3.pd.merge()方法设置连接字段。…

大家好,又见面了,我是你们的朋友全栈君。

摘要

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

1.merge函数的参数一览表
[Python3]pandas.merge用法详解
[Python3]pandas.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用法详解!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138653.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux大量kworker_linux load average 非常高

    linux大量kworker_linux load average 非常高aarch32linux4.14最近遇到一个kworker问题,callstack如下,线程adas的陷入kernelspace后会schedule_work调用一个while(1)的worker,killadas后重新启动adas后adas线程会在调用dma_alloc_coherent的时候block住以前的经验一直kworker为轻量的线程和可睡眠的中断下半部,对kwor…

    2022年9月25日
    2
  • macpycharm2022.01激活码[最新免费获取]

    (macpycharm2022.01激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlCJM5ZJBPHS-eyJsaWNlbnNlSW…

    2022年3月31日
    192
  • word2vec原理简述[通俗易懂]

    word2vec原理简述[通俗易懂](原创)word2vec是将单词转为向量,并为后续应用机器学习的算法做准备。经典的模型有两种,skip-gram和cbow,其中,skip-gram是给定输入单词来预测上下文,而cbow相反,是给定上下文来预测输入单词。下面主要介绍skip-gram:1.skip-gram训练词对skip-gram首先设定所谓一个值(skip_window),作为一个单词选取它的上下文的单词…

    2022年5月16日
    29
  • linux rpm卸载包及其依赖,Linux下如何用rpm卸载软件 rpm依赖包强制卸载

    linux rpm卸载包及其依赖,Linux下如何用rpm卸载软件 rpm依赖包强制卸载以Mysql为例。#查看安装的Mysql版本sjgx2:/usr/local/mysql/bin#rpm-qa|grep-imysqlMySQL-client-5.1.17-0.glibc23MySQL-server-5.1.17-0.glibc23#卸载sjgx2:/usr/local/mysql/bin#rpm-eMySQL-client-5.1.17-0.glibc23s…

    2022年9月22日
    3
  • pycharm2021.8.2激活码_最新在线免费激活

    (pycharm2021.8.2激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWNlbnNlSWQi…

    2022年3月25日
    81
  • layui单选框未显示的问题

    layui单选框未显示的问题一开始还没导入idea的时候,单纯点击一个网页是有显示出来的,当我把这个带有单选框的网页放到idea的项目中去的时候,发现单选框没显示出来。1.首先在确认js.css等东西有导入,和之前的网页也没有什么区别2.网上查询之后,解释:有些时候,你的有些表单元素可能是动态插入的。这时form模块的自动化渲染是会对其失效的。虽然我们没有双向绑定机制(因为我们叫经典模块化框架,偷笑.gif)但…

    2022年5月7日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号