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)相关推荐

  1. Python学习笔记——爬虫之urllib数据抓取

    目录 urllib库的基本使用 Get方式 POST方式: 获取AJAX加载的内容 Handler处理器 和 自定义Opener urllib库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资 ...

  2. 非理工科编程零基础文科生秒懂python学习笔记:pandas库数据表格创建和运算基础有哪些?

    #dataframe的数据类型 #每行的数据类型可以不一样 #行索引为index 等同于excel表格最左边的1.2.3.4 #列索引为column 等同于excel表格最顶端的A|B|C|D|E # ...

  3. Python学习笔记:求一组数据的众数

    一.众数概念 众数(Mode)是统计学名词,在统计分布上具有明显集中趋势点的数值,代表数据的一般水平(众数可以不存在或多于一个). 修正定义:是一组数据中出现次数最多的数值,叫众数,有时众数在一组数中 ...

  4. Python学习笔记:使用PIL批量合成jpg+png图片,用于水印、合并图片,生成YOLO数据集+标注数据等等

    [Python学习笔记] 使用PIL,批量合成jpg+png图片,用于水印.合并图片,生成YOLO数据集+标注数据等等 起因:在了解很多关于YOLOv5的相关内容,于是尝试着去训练自己的游戏目标检测模 ...

  5. 【Python学习笔记—保姆版】第四章—关于Pandas、数据准备、数据处理、数据分析、数据可视化

    第四章 欢迎访问我搞事情的[知乎账号]:Coffee 以及我的[B站漫威剪辑账号]:VideosMan 若我的笔记对你有帮助,请用小小的手指,点一个大大的赞哦. #编译器使用的是sypder,其中&q ...

  6. OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并

    OpenCV之Python学习笔记 一直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看到一本国外的新书< ...

  7. Python学习笔记_1_基础_2:数据运算、bytes数据类型、.pyc文件(什么鬼)

    Python学习笔记_1_基础_2:数据运算.bytes数据类型..pyc文件(什么鬼) 一.数据运算 Python数据运算感觉和C++,Java没有太大的差异,百度一大堆,这里就不想写了.比较有意思 ...

  8. Python学习笔记:用Python获取数据(本地数据与网络数据)

    Python学习笔记:用Python获取数据(本地数据与网络数据) 一.用Python获取本地数据 读写文件(三种基本模式:r, w, a) 1.写文件 2.读文件

  9. 【Python学习笔记】b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类

    [Python学习笔记]原作b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类 跟着b站@同济子豪兄的视频自学写的代码,内容是用pytorch ...

最新文章

  1. 2019年度苏州之春摄影作品展
  2. Linux 入门基础
  3. 初识-Android之智能短信项目相关技术整理
  4. Linux系统编程——I/O多路复用select、poll、epoll
  5. 星光 SaaS 伙伴甄云科技:如何构建更适合快成长企业的数字化采购管理平台?
  6. 计算机视觉识别简史:从 AlexNet、ResNet 到 Mask RCNN
  7. python字典和json字符串相互转化的方法_Python处理json字符串转化为字典的简单实现...
  8. WORD批量更改所有图片大小
  9. 高通把苹果逼急了?传苹果正大力研发调制解调器
  10. Python垃圾回收机制 总结
  11. 【Windows socket+IP+UDP+TCP】网络基础
  12. 在线文本字符串转十六进制工具
  13. 学习笔记(2):模拟登陆抽屉网(ajax)
  14. 区块链是如何解决慈善公益项目中存在的问题呢?
  15. DOM4J+JAXEN
  16. android 验证邮箱格式,android开发中, 如何验证邮箱的格式 ?
  17. 安装VS2010的SP1补丁的办法
  18. c语言中换行符与回车符的区别,C语言中换行符与回车符的区别
  19. java与JSON语法及解析
  20. Come Clear - Hilary Duff(希拉瑞.达芙)

热门文章

  1. 项目经验之谈--驱动崩溃分析之栈回溯技术与反汇编
  2. Markdown技术
  3. java71-GUL边界布局管理器
  4. python的mapl画图y轴排_Python三维绘图之Matplotlib库的使用方法
  5. Luogu 月赛 P5238 整数校验器
  6. 前端如何处理后端一次性传来的10w条数据
  7. 因子分解机FM算法(Factorization Machine)
  8. 测绘南方Cass,CAD删除居民地(JMD)房屋内高程点 (GCD)
  9. occt 几何图形库入门01
  10. 银联最新公布 又有几家的app都被拉黑了