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 相关文章推荐
Python命令行参数解析模块optparse使用实例
Apr 13 Python
python利用Guetzli批量压缩图片
Mar 23 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
python re库的正则表达式入门学习教程
Mar 08 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
在python中利用numpy求解多项式以及多项式拟合的方法
Jul 03 Python
Pytorch 的损失函数Loss function使用详解
Jan 02 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
Apr 24 Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 Python
Python实现FTP文件定时自动下载的步骤
Dec 19 Python
pandas针对excel处理的实现
Jan 15 Python
python中最小二乘法详细讲解
Feb 19 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
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
javascript getElementsByTagName
2011/01/31 Javascript
理解JSON:3分钟课程
2011/10/28 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
AngularJS实现全选反选功能
2015/12/08 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
python实现查询苹果手机维修进度
2015/03/16 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
用python实现刷点击率的示例代码
2019/02/21 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Python 远程开关机的方法
2020/11/18 Python
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
事业单位请假制度
2014/01/13 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
感谢信范文大全
2015/01/23 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
公司开业致辞
2015/07/29 职场文书