Pandas 合并多个Dataframe(merge,concat)的方法


Posted in Python onJune 08, 2018

在数据处理的时候,尤其在搞大数据竞赛的时候经常会遇到一个问题就是,多个表单的合并问题,比如一个表单有user_id和age这两个字段,另一个表单有user_id和sex这两个字段,要把这两个表合并成只有user_id、age、sex三个字段的表怎么办的,普通的拼接是做不到的,因为user_id每一行之间不是对应的,像拼积木似的横向拼接肯定是不行的。

pandas中有个merge函数可以做到这个实用的功能,merge这个词会点SQL语言的应该都不陌生。

下面说说merge函数怎么用:

df = pd.merge(df1, df2, how='left', on='user_id')

用法很简单,说一下后两个参数就可以了,how=""参数表示以哪个表的key为准,上面的how="left"表示以表df1为准,而key也就是on=""的参数

how="left"就是说,保留user_id字段的全部信息,不增加也不减少,但是拼接的时候只把df2表中的与df1中user_id字段交集的部分合并上就可以了,如果df2中出现了某个user_id在df1中没有出现,就抛弃掉这个样本不作处理。

如果要进行多key合并:

df = pd.merge(df1, df2, how='left', on=['user_id','sku_id'])

但是如果想仅进行简单的“拼接”而不是合并呢,要使用concat函数:

df = pd.concat( [df_user, dummies_sex, dummies_age, dummies_level], axis=1 )

这样可以保留这些表单的全部信息,参数axis=1表示列拼接,axis=0表示行拼接。

要保证背个表单的行数是相同的,并且每一行对应的key也是相同的,列拼接才变得有意义

以上这篇Pandas 合并多个Dataframe(merge,concat)的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
一个基于flask的web应用诞生(1)
Apr 11 Python
Python基于回溯法子集树模板解决取物搭配问题实例
Sep 02 Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
pytorch 自定义数据集加载方法
Aug 18 Python
简单分析python的类变量、实例变量
Aug 23 Python
keras tensorflow 实现在python下多进程运行
Feb 06 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
利用python制作拼图小游戏的全过程
Dec 04 Python
python函数超时自动退出的实操方法
Dec 28 Python
解决pytorch下出现multi-target not supported at的一种可能原因
Feb 06 Python
Python时间操作之pytz模块使用详解
Jun 14 Python
使用pandas对两个dataframe进行join的实例
Jun 08 #Python
pandas带有重复索引操作方法
Jun 08 #Python
使用python爬取B站千万级数据
Jun 08 #Python
pandas表连接 索引上的合并方法
Jun 08 #Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 #Python
python实现人人自动回复、抢沙发功能
Jun 08 #Python
利用Python写一个爬妹子的爬虫
Jun 08 #Python
You might like
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
JavaScript URL参数读取改进版
2009/01/16 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
简单理解Python中基于生成器的状态机
2015/04/13 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
使用python3构建文件传输的方法
2019/02/13 Python
Pyqt QImage 与 np array 转换方法
2019/06/27 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
《鲁班和橹板》教学反思
2014/04/27 职场文书
2015新年寄语大全
2014/12/08 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
营销计划书
2015/01/17 职场文书
房产电话营销开场白
2015/05/29 职场文书
团结友爱主题班会
2015/08/13 职场文书
经销商会议开幕词
2016/03/04 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python
MySQL8.0的WITH查询详情
2021/08/30 MySQL