将不同的数据源进行合并 , 类似数据库 join merge .

工具函数

concat / append

pd.concat() 简易合并

  • 合并高维数据

默认按行合并。 axis=0 ,试试 axis = 1

索引重复



结果中,索引是重复的。 这可能并不是我们想要的结果。

1)捕捉索引重复的错误。 verify_integrity=True



忽略索引 ignore_index=True, 会新建索引。

增加多级索引,通过keys参数为 数据源设置多级索引标签。

类似join的合并

当数据源 带有 不同的 列名 。

位置上缺失的参数会用NaN表示。可以使用join 和 join_axes(老版本)参数设置合并方式。

默认的合并方式是对所有输入列进行并集合并:join = outer .

对输入列进行交集合并: join = inner

另一种,直接确定结果使用的列名。老版本是由join_axes参数。新版本使用merge方法了。

append方法

合并与连接

关系代数

pd.merge()实现的功能基于关系代数。 relational algebra ,关系代数式处理关系数据的通用理论。

数据连接的三种类型

  • 一对一连接



    俩个df都有employee列,自动以这列作为键 进行连接。

  • 多对一连接

    有一列的值有重复。 会保留重复值。

  • 多对多连接

    共同列 都有重复值 。

设置数据合并的键

参数on。 设置为一个列名字符串,或者包含列名称 的列表,俩个数据源有共同的列名

left_on 与 right_on 。俩个数据源的列名不同。

获取到的结果有多余的列。使用drop()方法将这列去掉。

left_index 与 right_index。 合并索引 。

简单的方法,join()方法按照索引进行合并。

索引与列混合使用。

设置数据连接的集合操作规则

默认是内连接 inner join. 取共同列的交集。

内连接 inner join

外连接 outer join

左连接 left join

右连接 right join

数据源有多个 重复的列名。

默认自动会增加后缀。



使用suffixex参数

Python数据科学手册-Pandas:合并数据集的更多相关文章

  1. Python数据科学手册-Pandas数据处理之简介

    Pandas是在Numpy基础上建立的新程序库,提供了一种高效的DataFrame数据结构 本质是带行标签 和 列标签.支持相同类型数据和缺失值的 多维数组 增强版的Numpy结构化数组 行和列不在只 ...

  2. Python数据科学手册-Pandas:向量化字符串操作、时间序列

    向量化字符串操作 Series 和 Index对象 的str属性. 可以正确的处理缺失值 方法列表 正则表达式. Method Description match() Call re.match() ...

  3. Python数据科学手册-Pandas:累计与分组

    简单累计功能 Series sum() 返回一个 统计值 DataFrame sum.默认对每列进行统计 设置axis参数,对每一行 进行统计 describe()可以计算每一列的若干常用统计值. 获 ...

  4. Python数据科学手册-Pandas:数值运算方法

    Numpy 的基本能力之一是快速对每个元素进行运算 Pandas 继承了Numpy的功能,也实现了一些高效技巧. 对于1元运算,(函数,三角函数)保留索引和列标签 对于2元运算,(加法,乘法),Pan ...

  5. Python数据科学手册-Pandas:数据取值与选择

    Numpy数组取值 切片[:,1:5], 掩码操作arr[arr>0], 花哨的索引 arr[0, [1,5]],Pandas的操作类似 Series数据选择方法 Series对象与一维Nump ...

  6. Python数据科学手册-Pandas:层级索引

    一维数据 和 二维数据 分别使用Series 和 DataFrame 对象存储. 多维数据:数据索引 超过一俩个 键. Pandas提供了Panel 和 Panel4D对象 解决三维数据和四维数据. ...

  7. 100天搞定机器学习|day45-53 推荐一本豆瓣评分9.3的书:《Python数据科学手册》

    <Python数据科学手册>共五章,每章介绍一到两个Python数据科学中的重点工具包.首先从IPython和Jupyter开始,它们提供了数据科学家需要的计算环境:第2章讲解能提供nda ...

  8. Matplotlib 使用 - 《Python 数据科学手册》学习笔记

    一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...

  9. 《Python数据科学手册》

    <Python数据科学手册>[美]Jake VanderPlas著 陶俊杰译 Absorb what is useful, discard what is not, and  add wh ...

随机推荐

  1. 拉取服务器上的项目,svn认证失败

    解决方案: 在服务器上找到对应的项目路径,并修改authz: 我的是因为[group]组下(下图中34行),我写的是[demo:/],改为[/]就可以了.

  2. 类似Tower的而故事还没结束

    我对于SaaS一种有一种英雄主义的情怀在里面,无论是早期的推事本,还是后面我去调研的麦客CRM,国内的SaaS都在努力生长,在后疫情时代剩下的都是平台级的钉钉.飞书,或者垂直领域的王炸app了. 我早 ...

  3. springboot中配置skywalking请求日志

    pom.xml配置 <dependency> <groupId>org.apache.skywalking</groupId> <artifactId> ...

  4. 小红书携手HMS Core,畅玩高清视界,种草美好生活

    在相同流量消耗的情况下,540p可秒变1080p?这不是魔法,通过视频超分辨率技术(简称视频超分),就能让视频变得更清晰. 7月20日,在小红书最新版本7.48的App中,用户就能体验到这项技术带来的 ...

  5. Go 接口:深入内部原理

    接口的基本概念不在这里赘述,详情请看第十六章:接口 nil 非空? package main func main() { var obj interface{} obj = 1 println(obj ...

  6. for_in循环

    for-in循环也可以简单称为for循环 in表达从(字符串,序列等)中依次取值,又称为遍历(全部都要取到) for-in遍历的对象必须是可迭代对象 目前可以简单认为只有字符串和序列是可迭代对象 它是 ...

  7. Yii ACF(accessController)简单控权

    use yii\filters\AccessControl; class SiteController extends Controller { public function behaviors() ...

  8. docker Compose 部署springboot+vue前端端分离项目

    温馨提示:如果有自己的服务器最好不过了,这样部署网项目就可以上线了.没有的话,只能使用localhost 本机访问啦,记得替换 ngixn 中的ip地址.域名为localhost. (一) 准备工作 ...

  9. 最新30系显卡搭建paddle飞浆环境|含CUDA下载安装

    下载CUDA 通过这个链接可以下载任意CUDA版本:CUDA Toolkit Archive | NVIDIA Developer 我下载的是这一个:https://developer.downloa ...

  10. CSS(上)

    css sprite是什么,有什么优缺点 概念:将多个小图片拼接到⼀个图⽚中.通过 background-position 和元素尺寸调节需要显示的背景图案. 优点: 减少 HTTP 请求数,极⼤地提 ...