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写的一个简单DNS服务器实例
Jun 04 Python
在Python的Django框架上部署ORM库的教程
Apr 20 Python
Python中属性和描述符的正确使用
Aug 23 Python
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
Python实现基本数据结构中队列的操作方法示例
Dec 04 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
Python爬取视频(其实是一篇福利)过程解析
Aug 01 Python
使用Python函数进行模块化的实现
Nov 15 Python
Python爬虫爬取、解析数据操作示例
Mar 27 Python
Python如何重新加载模块
Jul 29 Python
python基础详解之if循环语句
Apr 24 Python
python中的None与NULL用法说明
May 25 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调用Oracle存储过程的方法
2008/09/12 PHP
PHP 事件机制(2)
2011/03/23 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
图片按比例缩放函数
2006/06/26 Javascript
JavaScript 密码强度判断代码
2009/09/05 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
认识jQuery的Promise的具体使用方法
2017/10/10 jQuery
深入理解Node module模块
2018/03/26 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
详解angularjs跨页面传参遇到的一些问题
2018/11/01 Javascript
Node.js文本文件BOM头的去除方法
2020/11/22 Javascript
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
python解析xml文件实例分析
2015/05/27 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python subprocess库的使用详解
2018/10/26 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
教你怎样写好自我评价
2013/10/05 职场文书
学校食品安全实施方案
2014/06/14 职场文书
旷工检讨书1000字
2015/01/01 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android