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 自动提交和抓取网页
Jul 13 Python
从零学Python之入门(二)基本数据类型
May 25 Python
Python实现短网址ShortUrl的Hash运算实例讲解
Aug 10 Python
Python解惑之True和False详解
Apr 24 Python
django 自定义filter 判断if var in list的例子
Aug 20 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
关于numpy数组轴的使用详解
Dec 05 Python
Jupyter Notebook输出矢量图实例
Apr 14 Python
Python爬取微信小程序通用方法代码实例详解
Sep 29 Python
python MD5加密的示例
Oct 19 Python
用python修改excel表某一列内容的操作方法
Jun 11 Python
Python极值整数的边界探讨分析
Sep 15 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语法(4)
2006/10/09 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
侧栏跟随滚动的简单实现代码
2013/03/18 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
vue实现购物车列表
2020/06/30 Javascript
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
python如何对链表操作
2020/10/10 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
Html5定位终极解决方案
2020/02/05 HTML / CSS
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
建筑学推荐信
2013/11/03 职场文书
应届生程序员求职信
2013/11/05 职场文书
小学家长会邀请函
2014/01/23 职场文书
心灵捕手观后感
2015/06/02 职场文书
看雷锋电影观后感
2015/06/10 职场文书
公司庆典主持词
2015/07/04 职场文书
五一放假通知怎么写
2015/08/18 职场文书
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android