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 01 Python
Python获取脚本所在目录的正确方法
Apr 15 Python
解决Python 遍历字典时删除元素报异常的问题
Sep 11 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
Nov 10 Python
Python基础学习之类与实例基本用法与注意事项详解
Jun 17 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
python实现在内存中读写str和二进制数据代码
Apr 24 Python
django 模型字段设置默认值代码
Jul 15 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
Jan 27 Python
python面向对象版学生信息管理系统
Jun 24 Python
python数据分析之单因素分析线性拟合及地理编码
Jun 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
站长助手-网站web在线管理程序 v1.0 下载
2007/05/12 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
php解决crontab定时任务不能写入文件问题的方法分析
2019/09/16 PHP
Document 对象的常用方法
2009/07/31 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
qq悬浮代码(兼容各个浏览器)
2014/01/29 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python实现文件按照日期命名的方法
2015/07/09 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
2014年计算机专业个人自我评价
2014/01/19 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
股东出资证明书(正规版)
2014/09/24 职场文书
2015年企业员工工作总结范文
2015/05/21 职场文书
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python