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 相关文章推荐
py2exe 编译ico图标的代码
Mar 08 Python
零基础写python爬虫之爬虫的定义及URL构成
Nov 04 Python
python中MySQLdb模块用法实例
Nov 10 Python
使用Python脚本来获取Cisco设备信息的示例
May 04 Python
python读写二进制文件的方法
May 09 Python
在Python程序中操作文件之isatty()方法的使用教程
May 24 Python
Python Queue模块详细介绍及实例
Dec 27 Python
Python异常对代码运行性能的影响实例解析
Feb 08 Python
python爬虫之xpath的基本使用详解
Apr 18 Python
python3.7.0的安装步骤
Aug 27 Python
python 模拟创建seafile 目录操作示例
Sep 26 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 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
js下函数般调用正则的方法附代码
2008/06/22 PHP
php 学习资料零碎东西
2010/12/04 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
php学习笔记之面向对象
2014/11/08 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
Python面向对象特殊成员
2017/04/24 Python
pandas修改DataFrame列名的方法
2018/04/08 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
如何用python 操作zookeeper
2020/12/28 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
行政专员工作职责
2013/12/22 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
中层干部培训方案
2014/06/16 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript