Python学习笔记---merge和concat数据合并(1)
Python学习笔记—merge和concat数据合并(1)
Python学习笔记—merge和concat数据合并(2)
文章目录
- Python学习笔记---merge和concat数据合并(1)
- 前言
- 一、数据合并--merge
- 二、操作步骤
- 1.先合并其中2张表
- 2.再合并第3张表
- 3.查看数据的总数(避免丢数据)
- 总结
前言
数据处理中经常对多个表的数据进行合并处理,这个功能类似于SQL中的join 联表查询。python可用于联表的函数是merge和concat。
两者区别:
1、merge:只能用于2张表的合并,多用于按列进行表合并 通过主键进行连接。如果需要3张表合并,需要先进行其 中2个表的合并 形成新的表,再进行第3张表连合并。
concat:可直接合并3张表,也可按行合并(追加)。
2、merge合并可以通过主键连结,自动去除重复的列。concat合并若是按照列合并 axis=1是把原表所有数据合并,不去除重复的列,如果需要去除重复的列,则需要使用drop_duplicates()去重。
这里介绍merge的用法。点击文章标题下的链接,可查看concat的用法。
一、数据合并–merge
merge的参数如下:
pd.merge( left, right, how=‘inner’, on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=(‘_x’, ‘_y’), copy=True, indicator=False, validate=None,)
参数释义:
left:关联的其中一个表。
right:关联的另外一个表。
how:值有{‘left’, ‘right’, ‘outer’, ‘inner’, ‘cross’}, 默认‘inner’。类似于sql的 left join、right join、outer join、inner join、cross join。
on:指定主键。用于关联2个表的字段,必须同时存在于2个表中。类似于sql中的on用法。可以不指定,默认以2表中共同字段进行关联。
left_on和right_on:两个表里没有完全一致的列名,但是有信息一致的列,需要指定以哪个表中的字段作为主键。
left_index和right_index:除了指定字段作为主键以外,还可以考虑用索引作为拼接的主键,leftindex和rightindex默认为False,就是不以索引作为主键。若合并的表含有相同字段/索引,可以同时设定left_index = True和right_index = True。
sort:是否按连结主键进行排序,默认是False,指不排序。True表示按连结主键(on 对应的列名)进行升序排列。
l
二、操作步骤
对users、movies、ratings三张表进行合并。
users表:
movies表:
ratings表:
1.先合并其中2张表
代码如下:
import pandas as pd
#先按主键user_id合并ratings和users表
data = pd.merge(ratings,users,on ='user_id' )#查询合并后的结果,输出前5行
data[:5]
2.再合并第3张表
代码如下:
#再按主键movie_id 合并data和movise表,并对sort 按movie_id的升序排列
all_data = pd.merge(data,movies,on = 'movie_id',sort = True) #查询3张表的合并结果,输出前5行
all_data[:5]
3.查看数据的总数(避免丢数据)
all_data.shape
总结
个人觉得在处理多个表关联过程中,merge更好用些,虽然只能两两关联,但可以有更多其他的操作。作为python的初学者,目前只关注到merge和concat的这些功能,可能还有其他更好用的方法,欢迎留言讨论。
【每天积累一点点,python的路上就少迷惑一点,更高效一些】
Python学习笔记---merge和concat数据合并(1)相关推荐
- Python学习笔记——爬虫之urllib数据抓取
目录 urllib库的基本使用 Get方式 POST方式: 获取AJAX加载的内容 Handler处理器 和 自定义Opener urllib库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资 ...
- 非理工科编程零基础文科生秒懂python学习笔记:pandas库数据表格创建和运算基础有哪些?
#dataframe的数据类型 #每行的数据类型可以不一样 #行索引为index 等同于excel表格最左边的1.2.3.4 #列索引为column 等同于excel表格最顶端的A|B|C|D|E # ...
- Python学习笔记:求一组数据的众数
一.众数概念 众数(Mode)是统计学名词,在统计分布上具有明显集中趋势点的数值,代表数据的一般水平(众数可以不存在或多于一个). 修正定义:是一组数据中出现次数最多的数值,叫众数,有时众数在一组数中 ...
- Python学习笔记:使用PIL批量合成jpg+png图片,用于水印、合并图片,生成YOLO数据集+标注数据等等
[Python学习笔记] 使用PIL,批量合成jpg+png图片,用于水印.合并图片,生成YOLO数据集+标注数据等等 起因:在了解很多关于YOLOv5的相关内容,于是尝试着去训练自己的游戏目标检测模 ...
- 【Python学习笔记—保姆版】第四章—关于Pandas、数据准备、数据处理、数据分析、数据可视化
第四章 欢迎访问我搞事情的[知乎账号]:Coffee 以及我的[B站漫威剪辑账号]:VideosMan 若我的笔记对你有帮助,请用小小的手指,点一个大大的赞哦. #编译器使用的是sypder,其中&q ...
- OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并
OpenCV之Python学习笔记 一直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看到一本国外的新书< ...
- Python学习笔记_1_基础_2:数据运算、bytes数据类型、.pyc文件(什么鬼)
Python学习笔记_1_基础_2:数据运算.bytes数据类型..pyc文件(什么鬼) 一.数据运算 Python数据运算感觉和C++,Java没有太大的差异,百度一大堆,这里就不想写了.比较有意思 ...
- Python学习笔记:用Python获取数据(本地数据与网络数据)
Python学习笔记:用Python获取数据(本地数据与网络数据) 一.用Python获取本地数据 读写文件(三种基本模式:r, w, a) 1.写文件 2.读文件
- 【Python学习笔记】b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类
[Python学习笔记]原作b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类 跟着b站@同济子豪兄的视频自学写的代码,内容是用pytorch ...
最新文章
- 2019年度苏州之春摄影作品展
- Linux 入门基础
- 初识-Android之智能短信项目相关技术整理
- Linux系统编程——I/O多路复用select、poll、epoll
- 星光 SaaS 伙伴甄云科技:如何构建更适合快成长企业的数字化采购管理平台?
- 计算机视觉识别简史:从 AlexNet、ResNet 到 Mask RCNN
- python字典和json字符串相互转化的方法_Python处理json字符串转化为字典的简单实现...
- WORD批量更改所有图片大小
- 高通把苹果逼急了?传苹果正大力研发调制解调器
- Python垃圾回收机制 总结
- 【Windows socket+IP+UDP+TCP】网络基础
- 在线文本字符串转十六进制工具
- 学习笔记(2):模拟登陆抽屉网(ajax)
- 区块链是如何解决慈善公益项目中存在的问题呢?
- DOM4J+JAXEN
- android 验证邮箱格式,android开发中, 如何验证邮箱的格式 ?
- 安装VS2010的SP1补丁的办法
- c语言中换行符与回车符的区别,C语言中换行符与回车符的区别
- java与JSON语法及解析
- Come Clear - Hilary Duff(希拉瑞.达芙)