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+django实现文件下载
Jan 17 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
Jan 24 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
Jun 17 Python
Python 操作 ElasticSearch的完整代码
Aug 04 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
Python新手学习装饰器
Jun 04 Python
详解Python中的路径问题
Sep 02 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 Python
python可视化之颜色映射详解
Sep 15 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
Aug 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
mysql 字段类型说明
2007/04/27 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
PHP多文件上传类实例
2015/03/07 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
Python利用IPython提高开发效率
2016/08/10 Python
python的unittest测试类代码实例
2017/12/07 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
如何进行Linux分区优化
2016/09/13 面试题
军校大学生个人的自我评价
2014/02/17 职场文书
临床医师个人自我评价
2014/04/06 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
先进个人评语大全
2015/01/04 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书