作者:来源于读者投稿

出品:Python数据之道

一文搞定pandas的数据合并

在实际处理数据业务需求中,我们经常会遇到这样的需求:将多个表连接起来再进行数据的处理和分析,类似SQL中的连接查询功能

pandas中也提供了几种方法来实现这个功能,表现最突出、使用最为广泛的方法是merge。本文中将下面????四种方法及参数通过实际案例来进行具体讲解。

  • merge

  • append

  • join

  • concat

为方便大家练习,文末提供了本文源代码的获取方式。

文章目录

导入库

做数据分析的时候这两个库是必须导入的,国际惯例一般。

import pandas as pd
import numpy as np

—  01 

merge

官方参数

官方提供的 merge函数的参数如下:

下面将通过案例讲解几个重要参数的使用方法:

DataFrame.merge(left, right, how='inner',   # {‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘inner’on=None, left_on=None, right_on=None, sort=False, suffixes=('_x', '_y'))

模拟数据

注意4组数据的不同

使用默认参数

两种不同的写法,效果相同

参数how

how参数的取值有4种:

  • inner(默认)

  • outer

  • right

  • left

参数on

用于连接的列索引列名,必须同时存在于左右的两个dataframe型数据中,类似SQL中两个表的相同字段属性

如果没有指定或者其他参数也没有指定,则以两个dataframe型数据的相同键作为连接键

on参数为单个字段

另一个例子:

on参数为多个字段-列表形式

参数lefton/righton

参数suffixes

合并的时候一列两个表同名,但是取值不同,如果都想要保存下来,就使用加后缀的方法,默认是 _x,_y,可以自己指定

参数sort

对连接的时候相同键的取值进行排序

—  02 

concat

官方参数

concat方法是将两个 DataFrame数据框中的数据进行合并

  • 通过axis参数指定是在行还是列方向上合并

  • 参数 ignore_index实现合并后的索引重排

生成数据

指定合并轴

改变索引

join参数

sort-属性排序

—  03 

append

官方参数

基本使用

data3.append(data4)   # 等同于pd.append([data3, data4])  忽略pandas版本的警告

改变索引-自然数排序

data3.append(data4, ignore_index=True)  # 设置参数

sort=True-属性的排序

data3.append(data4)   # 默认对字段属性排序

—  04 

join

官方参数

通过相同索引合并

相同字段属性指后缀

相同字段变成索引index

相同字段保留一次

---------End---------

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/662nyZF本站qq群704220115。加入微信群请扫码进群(如果是博士或者准备读博士请说明):

【Python基础】一文搞定pandas的数据合并相关推荐

  1. 一文搞定pandas的数据合并

    作者:来源于读者投稿 出品:Python数据之道 一文搞定pandas的数据合并 在实际处理数据业务需求中,我们经常会遇到这样的需求:将多个表连接起来再进行数据的处理和分析,类似SQL中的连接查询功能 ...

  2. 一文搞定Pandas中的数据合并

    一文搞定pandas的数据合并 在实际处理数据业务需求中,我们经常会遇到这样的需求:将多个表连接起来再进行数据的处理和分析,类似SQL中的连接查询功能. pandas中也提供了几种方法来实现这个功能, ...

  3. python基础-三分钟搞定面试官爱问的【异常处理】

    python基础-异常处理 一.异常简介 1.异常 2.处理异常 二.异常传播 三.异常对象 四.自定义异常对象 一.异常简介 1.异常 程序在运行过程当中,不可避免的会出现一些错误,比如:使用了没有 ...

  4. 【Python】挑战SQL:图解Pandas的数据合并merge

    公众号:尤而小屋 作者:Peter 编辑:Peter 在实际的业务需求中,我们的数据可能存在于不同的库表中.很多情况下,我们需要进行多表的连接查询来实现数据的提取,通过SQL的join,比如left ...

  5. 【Python】一文搞懂Pandas数据排序

    数据排序,是使用非常高频的功能,Pandas排序支持做的非常好,主要涉及两个函数,两种数据类型,组合起来四种情况. Series排序 Series.sort_index 索引排序 Series.sor ...

  6. 测试开发基础|一文搞定计算机网络(一)

    计算机网络知识对测试人员来说是非常重要的基础技能.无论是在平时测试工作中(比如接口测试),还是测试技术面试时,都会经常涉猎.很多基础薄弱的同学靠临时抱佛脚突击搜索学习,对系统知识和重点难点的理解总是不 ...

  7. 软件测试 | 测试开发 | 测试开发基础|一文搞定计算机网络(一)

    计算机网络知识对测试人员来说是非常重要的基础技能.无论是在平时测试工作中(比如接口测试),还是测试技术面试时,都会经常涉猎.很多基础薄弱的同学靠临时抱佛脚突击搜索学习,对系统知识和重点难点的理解总是不 ...

  8. python使用教程pandas-十分钟搞定pandas(入门教程)

    本文是对pandas官方网站上<10Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook .习惯上 ...

  9. 一文搞定Python中的时间转化

    一文搞定Python中的时间转化 在生活和工作中,我们每个人每天都在和时间打交道: 早上什么时候起床? 地铁几分钟来一趟? 中午什么时候开始午休? 明天是星期几? 距离上次买衣服已经2个月呢? 领导让 ...

最新文章

  1. 哪些“双一流”更得华为偏爱?这所高校人数远超清北华五
  2. ASP.NET MVC 学习网站
  3. Ecplise中怎样进行全局搜索
  4. data center!
  5. 智能数据构建与管理平台Dataphin的前世今生:缘起
  6. python保存模型_MNIST数据集训练完如何保存成模型文件?
  7. 牛客网暑期ACM多校训练营(第十场)F.Rikka with Line Graph
  8. 电大1253c语言程序设计考试题,电大1253《C语言程序设计》开放大学期末考试试题2020年1月(含答案)...
  9. 在阿里云服务器Windows Server 2012r IIS 上部署.NET网站
  10. 企业监控服务器Cacti、nagios服务器
  11. 多线程TCP客户端的设计
  12. 清北第一套题(zhx)
  13. 最新版PandoraBox潘多拉安装adbyby去广告插件图文详细教程!!
  14. 免费的文字转语音软件有哪些?三款软件可考虑,助你完成配音
  15. 条件覆盖,路径覆盖,语句覆盖,分支覆盖
  16. 第3章第11节:如何将众多图片制作成照片墙并作为幻灯片的背景 [PowerPoint精美幻灯片实战教程]
  17. 旷视科技计算机视觉算法研究员年薪,旷视科技算法研究员面经(21个问答)
  18. 积木式移动互联网App Hybrid框架-modular
  19. Firefox 实用插件
  20. 谷歌浏览器 android4.4,谷歌发布移动版Chrome浏览器仅限Android4.0

热门文章

  1. UNWAVERING SPIRIT AND VALUES
  2. POJ 3017 DP + 单调队列 + 堆
  3. cisco vPC技术
  4. Mysql初始化root密码和允许远程访问
  5. Date和TimeZone的关系
  6. HDU 1518 Square
  7. IIS上.Net 扩展中进行恢复
  8. q87主板支持cpu型号_怎么选内存,看主板和CPU的支持,取一致性约束
  9. 学习笔记:linuxsocket通信基础
  10. JDBC(一)——statement对象、PreparedStatement对象