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 相关文章推荐
python3访问sina首页中文的处理方法
Feb 24 Python
Python使用正则匹配实现抓图代码分享
Apr 02 Python
Python实现曲线点抽稀算法的示例
Oct 12 Python
Django admin美化插件suit使用示例
Dec 12 Python
儿童编程python入门
May 08 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
Python搭建Spark分布式集群环境
Jul 05 Python
用Python实现最速下降法求极值的方法
Jul 10 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
浅析Python中的随机采样和概率分布
Dec 06 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文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
js文件中调用js的实现方法小结
2009/10/23 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
JavaScript解析机制与闭包原理实例详解
2019/03/08 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
python自动下载图片的方法示例
2020/03/25 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
2013年入党人员的自我鉴定
2013/10/25 职场文书
致标枪运动员加油稿
2014/02/15 职场文书
小学老师寄语大全
2014/04/04 职场文书
2014年防汛工作总结
2014/12/08 职场文书
实习协议书
2015/01/27 职场文书
自荐信范文
2019/05/20 职场文书