Python基础之pandas数据合并


Posted in Python onApril 27, 2021

一、concat

concat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合

pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
       keys=None, levels=None, names=None, verify_integrity=False)

axis: 需要合并链接的轴,0是行,1是列join:连接的方式 inner,或者outer

二、相同字段的表首尾相接

Python基础之pandas数据合并

#现将表构成list,然后在作为concat的输入
In [4]: frames = [df1, df2, df3]
  
In [5]: result = pd.concat(frames)

要在相接的时候在加上一个层次的key来识别数据源自于哪张表,可以增加key参数

In [6]: result = pd.concat(frames, keys=['x', 'y', 'z'])

Python基础之pandas数据合并

也可以通过传入字典来增加分组键

pieces = {'x': df1, 'y': df2, 'z': df3}
 
result = pd.concat(pieces)

三、axis

当axis = 1的时候,concat就是行对齐,然后将不同列名称的两张表合并,是以索引号进行连接的

result = pd.concat([df1, df4], axis=1)

Python基础之pandas数据合并

3.1 join

加上join参数的属性,如果为'inner'得到的是两表的交集,如果是outer,得到的是两表的并集。

result = pd.concat([df1, df4], axis=1, join='inner')

Python基础之pandas数据合并

3.2 join_axes

如果有join_axes的参数传入,可以指定根据那个轴来对齐数据
例如根据df1表对齐数据,就会保留指定的df1表的轴,然后将df4的表与之拼接

result = pd.concat([df1, df4], axis=1, join_axes=[df1.index])

Python基础之pandas数据合并

四、append

append是series和dataframe的方法,使用它就是默认沿着列进行凭借(axis = 0,列对齐)

result = df1.append(df2)

Python基础之pandas数据合并

五、无视index的concat

如果两个表的index都没有实际含义,使用ignore_index参数,置true,合并的两个表就睡根据列字段对齐,然后合并。最后再重新整理一个新的index。

Python基础之pandas数据合并

到此这篇关于Python基础之pandas数据合并的文章就介绍到这了。

Python 相关文章推荐
收集的几个Python小技巧分享
Nov 22 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
简单理解Python中基于生成器的状态机
Apr 13 Python
Python使用Supervisor来管理进程的方法
May 28 Python
python使用pil库实现图片合成实例代码
Jan 20 Python
Python文本统计功能之西游记用字统计操作示例
May 07 Python
Python文件如何引入?详解引入Python文件步骤
Dec 10 Python
Python学习笔记之视频人脸检测识别实例教程
Mar 06 Python
Python StringIO如何在内存中读写str
Jan 07 Python
python进度条显示-tqmd模块的实现示例
Aug 23 Python
Python安装并操作redis实现流程详解
Oct 13 Python
Python中的变量与常量
Nov 11 Python
上手简单,功能强大的Python爬虫框架——feapder
python绘制箱型图
基于Python实现的购物商城管理系统
Apr 27 #Python
详解用Python把PDF转为Word方法总结
python实现的web监控系统
python opencv人脸识别考勤系统的完整源码
Apr 26 #Python
python实现监听键盘
Apr 26 #Python
You might like
Php部分常见问题总结
2006/10/09 PHP
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
php文件上传类完整实例
2016/05/14 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
FCK调用方法..
2006/12/21 Javascript
javascript之函数直接量(function(){})()
2007/06/29 Javascript
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
jQuery参数列表集合
2011/04/06 Javascript
jQuery之网页换肤实现代码
2011/04/30 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
JavaScript中数组去除重复的三种方法
2016/04/22 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
AngularJS基础 ng-open 指令简单实例
2016/08/02 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
django 自定义过滤器的实现
2019/02/26 Python
python3字符串操作总结
2019/07/24 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
车祸赔偿收入证明
2014/01/09 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
2014年网管工作总结
2014/12/11 职场文书
教师个人成长总结
2015/02/11 职场文书
复试通知单模板
2015/04/24 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL