Python数据科学手册-Pandas:合并数据集
将不同的数据源进行合并 , 类似数据库 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:合并数据集的更多相关文章
- Python数据科学手册-Pandas数据处理之简介
Pandas是在Numpy基础上建立的新程序库,提供了一种高效的DataFrame数据结构 本质是带行标签 和 列标签.支持相同类型数据和缺失值的 多维数组 增强版的Numpy结构化数组 行和列不在只 ...
- Python数据科学手册-Pandas:向量化字符串操作、时间序列
向量化字符串操作 Series 和 Index对象 的str属性. 可以正确的处理缺失值 方法列表 正则表达式. Method Description match() Call re.match() ...
- Python数据科学手册-Pandas:累计与分组
简单累计功能 Series sum() 返回一个 统计值 DataFrame sum.默认对每列进行统计 设置axis参数,对每一行 进行统计 describe()可以计算每一列的若干常用统计值. 获 ...
- Python数据科学手册-Pandas:数值运算方法
Numpy 的基本能力之一是快速对每个元素进行运算 Pandas 继承了Numpy的功能,也实现了一些高效技巧. 对于1元运算,(函数,三角函数)保留索引和列标签 对于2元运算,(加法,乘法),Pan ...
- Python数据科学手册-Pandas:数据取值与选择
Numpy数组取值 切片[:,1:5], 掩码操作arr[arr>0], 花哨的索引 arr[0, [1,5]],Pandas的操作类似 Series数据选择方法 Series对象与一维Nump ...
- Python数据科学手册-Pandas:层级索引
一维数据 和 二维数据 分别使用Series 和 DataFrame 对象存储. 多维数据:数据索引 超过一俩个 键. Pandas提供了Panel 和 Panel4D对象 解决三维数据和四维数据. ...
- 100天搞定机器学习|day45-53 推荐一本豆瓣评分9.3的书:《Python数据科学手册》
<Python数据科学手册>共五章,每章介绍一到两个Python数据科学中的重点工具包.首先从IPython和Jupyter开始,它们提供了数据科学家需要的计算环境:第2章讲解能提供nda ...
- Matplotlib 使用 - 《Python 数据科学手册》学习笔记
一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...
- 《Python数据科学手册》
<Python数据科学手册>[美]Jake VanderPlas著 陶俊杰译 Absorb what is useful, discard what is not, and add wh ...
随机推荐
- NC24622 Brownie Slicing
NC24622 Brownie Slicing 题目 题目描述 Bessie has baked a rectangular brownie that can be thought of as an ...
- tauri+vue开发小巧的跨OS桌面应用-股票体检
最近打算写一个用于股票体检的软件,比如股权质押比过高的股票不合格,ROE小于10的股票不合格,PE大于80的股票不合格等等等等,就像给人做体检一样给股票做个体检.也实现了一些按照技术指标.基本面自动选 ...
- 基于.NetCore开发博客项目 StarBlog - (15) 生成随机尺寸图片
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...
- Error Code: 1054. Unknown column '字段名' in 'field list'
问题描述: j博主在java开发过程中,通过读取excel中表名和字段名,动态创建insert的SQL语句,在mysql可视化工具中执行此SQL语句时,一直提示"Error Code: 10 ...
- 【中国象棋人机对战】引入了AI算法,学习低代码和高代码如何混编并互相调用
以低代码和高代码(原生JS代码)混编的方式引入了AI算法,学习如何使用表达式调用原生代码的.整个过程在众触低代码应用平台进行,适合高阶学员. AI智能级别演示 AI算法分三个等级,体现出来的智能水平不 ...
- javaweb 01: servlet前言
动力节点杜老师,javaweb最新课程的笔记,假期一直跟着bilibili上的课程在学,放在这里,方便复习 Servlet前言 关于系统架构 系统架构包括什么形式? C/S架构 B/S架构 C/S架构 ...
- 谷歌邮箱使用python自动化发送邮件出现smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted.的解决
今天学习使用邮箱自动化办公的过程中run时一直出现如下错误;smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password n ...
- NOI / 2.1基本算法之枚举题解-1(3861字)制作不易
目录 1.15 Counterfeit Dollarhttp://noi.openjudge.cn/ch0201/15/ 2.1749 数字方格
- python jinjia2 使用语法
简介 对于jinjia2来说,模板仅仅是文本文件,可以生成任何基于文本的文件格式,例如HTML.XML.CSV.LaTex 等等,以下是基础的模板内容: <!DOCTYPE html> & ...
- vscode 个人配置 settings.json
{ "workbench.colorTheme": "Default Dark+", "workbench.iconTheme&quo ...