今天借着这个机会,就为大家盘点一下pandas中合并数据的5个函数。
join
join是基于索引的横向拼接,如果索引一致,直接横向拼接。如果索引不一致,则会用Nan值填充。
索引一致
x = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[0, 1, 2])
y = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
'D': ['D0', 'D2', 'D3']},
index=[0, 1, 2])
x.join(y)
结果如下:
索引不一致
x = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[0, 1, 2])
y = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
'D': ['D0', 'D2', 'D3']},
index=[1, 2, 3])
x.join(y)
结果如下:
merge
merge是基于指定列的横向拼接,该函数类似于关系型数据库的连接方式,可以根据一个或多个键将不同的DatFrame连接起来。该函数的典型应用场景是,针对同一个主键存在两张不同字段的表,根据主键整合到一张表里面。
x = pd.DataFrame({'姓名': ['张三', '李四', '王五'],
'班级': ['一班', '二班', '三班']})
y = pd.DataFrame({'专业': ['统计学', '计算机', '绘画'],
'班级': ['一班', '三班', '四班']})
pd.merge(x,y,how="left")
结果如下:
concat
concat函数既可以用于横向拼接,也可以用于纵向拼接。
纵向拼接
x = pd.DataFrame([['Jack','M',40],['Tony','M',20]], columns=['name','gender','age'])
y = pd.DataFrame([['Mary','F',30],['Bob','M',25]], columns=['name','gender','age'])
z = pd.concat([x,y],axis=0)
z
结果如下:
横向拼接
x = pd.DataFrame({'姓名': ['张三', '李四', '王五'],
'班级': ['一班', '二班', '三班']})
y = pd.DataFrame({'专业': ['统计学', '计算机', '绘画'],
'班级': ['一班', '三班', '四班']})
z = pd.concat([x,y],axis=1)
z
结果如下:
append
append主要用于纵向追加数据。
x = pd.DataFrame([['Jack','M',40],['Tony','M',20]], columns=['name','gender','age'])
y = pd.DataFrame([['Mary','F',30],['Bob','M',25]], columns=['name','gender','age'])
x.append(y)
结果如下:
combine
conbine可以通过使用函数,把两个DataFrame按列进行组合。
x = pd.DataFrame({"A":[3,4],"B":[1,4]})
y = pd.DataFrame({"A":[1,2],"B":[5,6]})
x.combine(y,lambda a,b:np.where(a>b,a,b))
结果如下:
注:上述函数,用于返回对应位置上的最大值。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
数据
+关注
关注
8文章
6559浏览量
87933 -
函数
+关注
关注
3文章
4117浏览量
61545 -
索引
+关注
关注
0文章
59浏览量
10423
发布评论请先 登录
相关推荐
在PyODPS DataFrame自定义函数中使用pandas、scipy和scikit-learn
pandas 的 map 和 apply 方法,也提供了 MapReduce API 来扩展 pandas 语法以适应大数据环境。PyODPS 的自定义函数是序列化到 MaxComp
发表于 05-17 19:48
pandas是什么?
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着
发表于 01-12 07:53
pandas的快速入门介绍
pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型
发表于 06-03 08:00
•0次下载
![<b class='flag-5'>pandas</b>的快速入门介绍](https://file.elecfans.com/web1/M00/BE/0A/pIYBAF7XEhKAU_OTAAI2sLDTRKE742.png)
从Excel到Python-最常用的36个Pandas函数
本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入、数据清洗、预处理,以及最常见的
盘点Pandas的100个常用函数
分析过程中,必然要做一些数据的统计汇总工作,那么对于这一块的数据运算有哪些可用的函数可以帮助到我们呢?具体看如下几张表。 import pandas as pd import nump
![盘点<b class='flag-5'>Pandas</b>的100个常用<b class='flag-5'>函数</b>](https://file.elecfans.com/web1/M00/E8/B7/pIYBAGBlKS-AXgcZAAA8LPhtVQI660.png)
解读12 种 Numpy 和 Pandas 高效函数技巧
本文分享给大家 12 种 Numpy 和 Pandas 函数,这些高效的函数会令数据分析更为容易、便捷。最后,读者也可以在 GitHub 项目中找到本文所用代码的 Jupyter No
Python Pandas如何来管理结构化数据
和DataFrame)。 在人工智能领域,Pandas经常用于机器学习和深度学习过程的预处理步骤。Pandas通过提供数据清理、重塑、合并和聚合,可以将原始
![Python <b class='flag-5'>Pandas</b>如何来管理结构化<b class='flag-5'>数据</b>](https://file1.elecfans.com/web2/M00/88/AA/wKgaomRu1F-ANuP8AAAbKNlimaY835.png)
如何使用Python和pandas库读取、写入文件
= pd.read_excel(' data .xlsx') 此代码中,我们首先导入 pandas 库并将其重命名为 pd。使用 pd.read_excel() 函数读取 'data.xlsx' 文件并将其存储
评论