pandas数据合并与重塑之merge详解

 更新时间:2024年02月20日 15:58:59   作者:卿卿553  
这篇文章主要介绍了pandas数据合并与重塑之merge,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

数据合并与重塑有merge,join,concat三种方法,本文先对merge进行讲解

1.merge参数概览

参数介绍
how连接方式(左连接left,右连接right,内连接inner,外连接outer)默认内连接
on用来做连接键的列名(两表必须相同)
left_on左表用来做连接键的列名
right_on右表用来做连接键的列名
left_indexTrue表示左表索引列作为连接键
right_indexTrue表示右表索引列作为连接键
suffix给两表的列加后缀进行区分

2.左右内外连接概念讲解

pandas中的左右内外连接和mysql中的大致相同,学过mysql的更容易理解

现在有两张表:表1和表2

(1)左连接

以表1为准,

将表2中与表1能根据连接键对应的数据与表1合并,和表1对应不上的数据则丢弃

在此过程中表1的数据是被完全保留下的

(2)右连接

与左连接相反,以表2为准

将表1中与表2能根据连接键对应的数据与表2合并,和表2对应不上的数据则丢弃

在此过程中表2的数据是被完全保留下的

(3)内连接

将表1和表2中根据连接键对应两边都有的数据合并

在此过程中表1只保留了能和表2对应的数据,表2也只保留下了能和表1对应的数据,有点类似于数学中的交集

(4)外连接

表1和表2的数据根据连接键对应合并

在此过程中表1表2的数据全都保留下来,相当于数学中的并集

3.merge数据合并

首先将两个表的数据进行读取

import pandas as pd
adress1="D:/pandas练习文件/merge1.xlsx"
adress2="D:/pandas练习文件/merge2.xlsx"
data1=pd.read_excel(adress1)
data2=pd.read_excel(adress2)

(1)当两个表用来做连接键的列名都相同时(以左连接为例)

A使用方法:

pd.merge(数据1,数据2,on=" ",how=" ")

all_data=pd.merge(data1,data2,on="姓名",how="left")

B数据合并前后对比:

(2)当两个表用来做连接键的列名都不相同时(本次默认内连接)

A使用方法

pd.merge(数据1,数据2,left_on="",right_on="")

all_data=pd.merge(data1,data2,left_on="姓名1",right_on="姓名2")

B数据合并前后对比

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使paramiko库执行命令时在给定的时间强制退出功能的实现

    使paramiko库执行命令时在给定的时间强制退出功能的实现

    这篇文章主要介绍了使paramiko库执行命令时,在给定的时间强制退出,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • python使用selenium操作浏览器的实现示例

    python使用selenium操作浏览器的实现示例

    Selenium是一个模拟浏览器浏览网页的工具,主要用于测试网站的自动化测试工具,本文主要介绍了python使用selenium操作浏览器的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Python中字典的基础介绍及常用操作总结

    Python中字典的基础介绍及常用操作总结

    字典也是python的数据类型中的一种,它由许多键值对组成,它是一种可变容器模型,一般情况下键是唯一的,字典支持嵌套,下面这篇文章主要给大家介绍了关于Python中字典的基础介绍及常用操作,需要的朋友可以参考下
    2021-09-09
  • 如何用python写个模板引擎

    如何用python写个模板引擎

    这篇文章主要介绍了如何用python写个模板引擎,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • Python functools模块学习总结

    Python functools模块学习总结

    这篇文章主要介绍了Python functools模块学习总结,本文讲解了functools.partial、functool.update_wrapper、functool.wraps、functools.reduce、functools.cmp_to_key、functools.total_ordering等方法的使用实例,需要的朋友可以参考下
    2015-05-05
  • Tensor和NumPy相互转换的方法

    Tensor和NumPy相互转换的方法

    本文主要介绍了Tensor和NumPy相互转换的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python Flask 请求数据获取响应详解

    Python Flask 请求数据获取响应详解

    这篇文章主要介绍了Python Flask请求数据获取响应的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-10-10
  • 关于Python的pymouse click 双击的问题

    关于Python的pymouse click 双击的问题

    这篇文章主要介绍了关于Python的pymouse click 双击的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • python 判断字符串中是否含有汉字或非汉字的实例

    python 判断字符串中是否含有汉字或非汉字的实例

    今天小编就为大家分享一篇python 判断字符串中是否含有汉字或非汉字的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • pydantic-resolve嵌套数据结构生成LoaderDepend管理contextvars

    pydantic-resolve嵌套数据结构生成LoaderDepend管理contextvars

    这篇文章主要为大家介绍了pydantic-resolve解决嵌套数据结构生成LoaderDepend管理contextvars的使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-04-04

最新评论