pandas中merge()函数的用法解读
作者:还没想好116 发布时间:2023-10-02 08:49:46
标签:pandas,merge,函数
merge()
import pandas as pd
pd.merge(DateFrame1,DateFrame2,on = ' ',how = ' ')
merge是pandas中用来合并数据的函数,不像concat是按照某行或某列来合并,而是按照数据中具体的某一字段来连接数据。
具体参数的意思,举例说明,一看就懂!!
举例说明
先列举两个DataFrame
import pandas as pd
df_1 = pd.DataFrame({'姓名': ["小明","小红","小刚"],
'年纪': [10,9,12],
'城市': ['上海','北京','深圳']})
df_1
姓名年纪城市
0小明10上海
1小红9北京
2小刚12深圳
df_2 = pd.DataFrame({'零花钱': [50,200,600,400,80],
'城市': ['苏州','北京','上海','广州','重庆']})
df_2
零花钱城市
050苏州
1200北京
2600上海
3400广州
480重庆
on表示按照那个特征来找相同的字段
# 两个DataFrame都有“城市”,并且“城市”里面有相同的元素,可以按照这些相同的元素拼接
result = pd.merge(df_1,df_2, on = '城市')
result
姓名年纪城市零花钱
0小明10上海600
1小红9北京200
没有on的话,就自动找相同的字段
# 没有on的话,就自动找相同的字段
result = pd.merge(df_1,df_2)
result
姓名年纪城市零花钱
0小明10上海600
1小红9北京200
how是指两个DateFrame的拼接方式
how = ‘outer’
:外置,相当于两个DateFrame求并集how = ‘right’
: 右置,合并后,按照最右边不为空的样本显示how = ‘left’
:左置,合并后,按照最左边不为空的样本显示how = ‘inner’
:只显示匹配到的字段的样本
# 外置,相当于两个DateFrame求并集
result = pd.merge(df_1,df_2, on = '城市', how = 'outer')
result
姓名年纪城市零花钱
0小明10.0上海600.0
1小红9.0北京200.0
2小刚12.0深圳NaN
3NaNNaN苏州50.0
4NaNNaN广州400.0
5NaNNaN重庆80.0
# 右置,
result = pd.merge(df_1,df_2, on = '城市', how = 'right')
result
姓名年纪城市零花钱
0小明10.0上海600
1小红9.0北京200
2NaNNaN苏州50
3NaNNaN广州400
4NaNNaN重庆80
# 左置
result = pd.merge(df_1,df_2, on = '城市', how = 'left')
result
姓名年纪城市零花钱
0小明10上海600.0
1小红9北京200.0
2小刚12深圳NaN
# how = 'inner',只显示具有相同字段的样本
result = pd.merge(df_1,df_2, on = '城市', how = 'inner')
result
姓名年纪城市零花钱
0小明10上海600
1小红9北京200
来源:https://blog.csdn.net/weixin_44177568/article/details/102510021


猜你喜欢
- Intersection over Union(IOU)是一种测量在特定数据集中检测相应物体准确度的一个标准。IoU是一个简单的测量标准,只
- clear()方法将删除字典中的所有项目(清空字典)语法以下是clear()方法的语法:dict.clear()参数
- 物质世界客观存在,而人的“视觉成像”是对当前世界的“唯心”重建。这种重建基于个人“经验”、“感知”和“集体意识”。最初科学家认为人类通过视觉
- 最近项目需要抓包功能,并且抓包后要对数据包进行存库并分析。抓包想使用tcpdump来完成,但是tcpdump抓包之后只能保存为文件,我需要将
- 使用thinkphp官方的WeChat包,使用不同模式可以成功,但是安全模式就是不行,现将分析解决结果做下记录。分析问题: &nb
- 继续Mootools常用方法扩展,依然还是String类的扩展。方法:format说明:一个非常简单的format方法,和C#
- 在研究ezSQL的时候就看到了mssql_connect()等一些php提供的连接MSSQL的函数,本以为php这个开源的风靡世界的编程语言
- ASP的强大不仅仅局限于接受和显示的交互,更多的是运用ActiveX 组件进行更强大的Web应用。那究竟ActiveX组件为何物?
- js代码:window.alert = function(msg, callback) {var div = document.create
- Date.prototype.format = function(format){ var o = { "M+" : t
- 学了面向对象三大特性继承,多态,封装。今天我们看看面向对象的一些进阶内容,反射和一些类的内置函数。一、isinstance和issubcla
- 在网上游荡,看着别人的精彩主页难免心里痒痒的,但自己精心布置的家(个人主页),如果在不同的浏览器中呈现
- Vue服务器部署刷新页面404问题描述在上线vue开发的前端网页部署在服务器上后,刷新页面显示404原因因为网页上显示的是静态绝对路径而实际
- 表的故障检测和修正的一般过程如下:◆ 检查出错的表。如果该表检查通过,则完成任务,否则必须修复出错的数据库表。◆ 在开始修复之前对表文件进行
- DRF 框架,全称为 Django Rest Framework,是 Django 内置模块的扩展,用于创建标准化 RESTful API;
- 安装pygal,可参阅:pip和pygal的安装实例教程基本XY线:import pygalfrom math import cos&quo
- Vue设置浏览器小图标当我们使用浏览器做开发时,我们能希望浏览器标签页能显示自己的logo小图标,这个是怎样设置的呢?第一步:准备logo图
- 过程名:ManualPagination作 用:采用手动分页方式显示文章具体的内容参 数:ArticleID,strContentSub&n
- Image and text elements that appear in another element are called floa
- 用过MySQL之后,不论容量的话,发现比其他两个(sql server 、oracle)好用的多,一下子就喜欢上了。下面给那些还不知道怎么弄