Python学习笔记—merge和concat数据合并(2)
Python学习笔记—merge和concat数据合并(1)
文章目录
- Python学习笔记---merge和concat数据合并(2)
- 前言
- 一、数据合并--concat
- 二、操作步骤
- 1.具体代码及结果
- 2.去除重复的列
- 3.查看数据的总数(避免丢数据)
- 总结
前言
数据处理中经常对多个表的数据进行合并处理,这个功能类似于SQL中的join 联表查询。python可用于联表的函数是merge和concat。
两者区别:
1、merge:只能用于2张表的合并,多用于按列进行表合并 通过主键进行连接。如果需要3张表合并,需要先进行其 中2个表的合并 形成新的表,再进行第3张表连合并。
concat:可直接合并3张表,也可按行合并(追加)。
2、merge合并可以通过主键连结,自动去除重复的列。concat合并若是按照列合并 axis=1是把原表所有数据合并,不去除重复的列,如果需要去除重复的列,则需要使用drop_duplicates()去重。
这里介绍concat的用法。点击文章标题下的链接,可查看merge的用法。
提示:以下是本篇文章正文内容,下面案例可供参考
一、数据合并–concat
concat的参数如下:
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表:
1.具体代码及结果
代码如下(示例):
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的路上就少迷惑一点,更高效一些】