[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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • <Javascript>浅谈js“三元表达式” (三元运算符)

    <Javascript>浅谈js“三元表达式” (三元运算符)前言各位大神,大家好,相约周三。我们又见面了。众所周知,三元表达式在代码量上比if…else语句更简洁一些。但是博主刘少在可读性上更加偏向于if…else语句。三元表达式不仅在js中使用,在很多后台程序语言,比如java、php中都有使用,不过在js中对于三元表达式的要求貌似要松很多。废话不多说。下面一起看看三元表达式。三元表达式素质N连问首先为什么叫三元表达式?顾…

    2022年7月15日
    14
  • numpy转tensorflow_pytorch numpy

    numpy转tensorflow_pytorch numpy.numpy()和.from_numpy()负责将tensor和numpy中的数组互相转换,共享共同内存,不共享地址torch.tensor()复制数据,但不共享地址#tensor转numpy,共享内存但不共享地址a=torch.ones(5)b=a.numpy()print(a,b)print(id(a)==id(b))a+=1print(a,b)print(id(a)==id(b))b+=1print(a,b)print(id(a)==id(b))”’tensor([1.,

    2022年9月1日
    7
  • idea debug断点调试技巧_idea断点查看选中的值

    idea debug断点调试技巧_idea断点查看选中的值文章目录一.怎么开启断点调试?二.调试界面咋那么多按钮?1.返回断点位置2.步过3.步入4,5.强制步入,步出6.回退断点7.断点跳到光标处8.表达式计算9.恢复程序10.停止程序11.查看所有断点12.禁用断点13.其他三.竟然有那么多调试断点?1.方法断点2.属性断点3.异常断点4.终止断点5.条件断点6.流断点7.多线程断点8.远程断点一.怎么开启断点调试?随着开发的深入,越来越觉得高效的调试方法是多么的重要了,但我们一般上来就是敲一些代码,谁会去静下心来学一些看似没什么用的调试技巧呢?

    2022年8月30日
    3
  • Nginx命令大全[通俗易懂]

    nginx #打开nginxnginx-t   #测试配置文件是否有语法错误nginx-sreopen #重启Nginxnginx-sreload  #重新加载Nginx配置文件,然后以优雅的方式重启Nginxnginx-sstop  #强制停止Nginx服务nginx-squit  #优雅地停止Nginx服务…

    2022年4月13日
    43
  • perl正则表达式中文问题

    perl正则表达式中文问题
     
    在使用perl从地址中提取街道的时候遇到了个很诡异的问题
    同样一个地址,连续进行两次匹配出来的结果居然不一样
    一次是正常的,一次是乱码,搞了半天没弄明白是怎么回事
    看来perl的中文处理能力还是有待加强
    后来在进行正则匹配之前尝试用了useencoding”gbk”; 
    还算运气不错,居然搞定了
    useencoding”gbk”; 
    $address=~/^(.*(市|区))?(.*?(街|路|道)).*

    2022年5月31日
    23
  • 信道容量计算公式_信道均衡算法

    信道容量计算公式_信道均衡算法信道带宽=符号率*符号数*(188/204)注释:符号率&lt–&gt频宽(下行欧标频宽8MHz,上行有1.6MHz,3.2MHz,6.4MHz三种频宽);符号数&lt–&gt调制方式(符号数=Log2~调制方式,如QAM64的符号数为6,2的6次方=64)=====================================================…

    2022年8月31日
    5

发表回复

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

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