栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习笔记---merge和concat数据合并(1)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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:只能用于两两合并,如果需要3张表合并,需要先进行其 中2个表的合并 形成新的表,再进行第3张表连合并。
concat:可直接合并3张表。
2、merge合并可以通过主键连结,自动去除重复的列。concat合并是把原表所有数据合并,不去除重复的列,如果需要去除重复的列,则需要使用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的路上就少迷惑一点,更高效一些】

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/924059.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号