Python学习笔记—merge和concat数据合并(1)
文章目录
- Python学习笔记---merge和concat数据合并(2)
- 前言
- 一、数据合并--concat
- 二、操作步骤
- 1.具体代码及结果
- 2.去除重复的列
- 3.查看数据的总数(避免丢数据)
- 总结
前言
数据处理中经常对多个表的数据进行合并处理,这个功能类似于SQL中的join 联表查询。python可用于联表的函数是merge和concat。
两者区别:
1、merge:只能用于两两合并,如果需要3张表合并,需要先进行其 中2个表的合并 形成新的表,再进行第3张表连合并。
concat:可直接合并3张表。
2、merge合并可以通过主键连结,自动去除重复的列。concat合并是把原表所有数据合并,不去除重复的列,如果需要去除重复的列,则需要使用drop_duplicates()去重。
这里介绍concat的用法。点击文章标题下的链接,可查看merge的用法。
提示:以下是本篇文章正文内容,下面案例可供参考
一、数据合并–concatconcat的参数如下:
pd.concat( objs, axis=0, join=‘outer’, join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True,)
参数释义:
objs:要合并的表名,可以是2个以上。
axis:合并的方式,行追加或列追加。axis = 0,表示行。axis = 1 表示列。{0/’index’, 1/’columns’}, 默认 0。
join:合并的方式,{‘inner’, ‘outer’}, 默认‘outer’。
ignore_index:bool, 默认 False
keys和names:用来标注合并后的数据分别来自于哪张表。
二、操作步骤对users、movies、ratings三张表进行合并。
users表:
movies表:
ratings表:
代码如下(示例):
import pandas as pd #3表按列进行合并 data = pd.concat([ratings,users,movies],axis = 1) #查询合并结果并输出前5行 data[:5]2.去除重复的列
代码如下(示例):
#去除重复的列 data = data.loc[:,~data.columns.duplicated()] #查询去重后的结果,并输出前5行 data[:5]3.查看数据的总数(避免丢数据)
data.shape
总结
个人觉得在处理多个表关联过程中,merge更好用些,虽然只能两两关联,但可以有更多其他的操作。作为python的初学者,目前只关注到merge和concat的这些功能,可能还有其他更好用的方法,欢迎留言讨论。
【每天积累一点点,python的路上就少迷惑一点,更高效一些】



