使用pd.merge表连接出现多余行的问题解决
作者:路明非Re 发布时间:2023-08-25 11:34:24
标签:pd.merge,表连接
本文的目标是将表1论文及出版物与表2出版物及其指标进行匹配。
利用pandas的merge函数实现表的左外连接。左外连接即左表的外连接,左表保持不变,匹配右表的行(合并后右表肯能存在空值)。
paperPublicationIndicator = pd.merge(paperPublication,publicationIndicator,
how='left',left_on='出版物',right_on='名称',sort=False)
结果发现连接后表相比于表1论文出版物 多出来13行。进行探究发现是表2出版物指标信息中存在 出版物A-指标1,出版物A-指标2这样的出版物重复行。进行匹配后会出现:
出版物 名称 指标
出版物A 出版物A 指标1
出版物A 出版物A 指标2 #多余的行
这里选择预先删除 表2出版物指标 中的重复出版物信息。
publicationIndicator.drop_duplicates(subset=['名称'],
keep='first',inplace=True)
这样结果就没有问题了。
来源:https://blog.csdn.net/yefan_001/article/details/124611893


猜你喜欢
- 功能性的文章直接用几个最简单的实现表达:xlsxwriter库的核心就是其Workbook对象。创建一个指定名字的xlsx文件:import
- 在Java编程开发中,网络通信的开发是很重要的一部分,它是两台或多台计算机进行网络的基础,网络程序编写的目的也就是为了与其他计算机之间进行网
- 一、 什么是多态<1>一种类型具有多种类型的能力<2>允许不同的对象对同一消息做出灵活的反应<3>以一种
- 最近开发的微信公众号项目中(项目采用Vue + Vux 构建,站点部署在IIS8.5上),遇到个非常奇葩的问题,发布站点内容后,通过微信打开
- 如何在一台服务器上安装两个或者更多个的mysql呢?下面是详细的操作步骤,一起来学习学习吧。一、环境mysql软件包:  
- 使用suds这个第三方模块from suds.client import Clienturl = 'http://ip:port/?
- 首先,想要实现的功能是递归遍历文件夹,遇到满足条件的文件时,用yield返回该文件的位置。如果不用递归器,可以这样实现:path_list
- MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mys
- 概览(循环方式 - 常用)formapforEachfilter声明遍历的数组和异步方法声明一个数组:??const skills = [&
- eclare @str nvarchar(50);set @str='462,464,2';select @str as &
- 存储过程功能的优点为什么要使用存储过程?以下是存储过程技术的几大主要优点:预编译执行程序。SQL Server只需要对每一个存储过程进行一次
- 前言由于数据库的类型为Data 类型,所以插入数据库的时候我先把前端传入的string类型的时间转为Time 再插入。Go 提供了两种插入的
- 1.新式类与经典类在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获
- Flask 框架中如果想要实现WebSocket功能有许多种方式,运用SocketIO库来实现无疑是最简单的一种方式,Flask中封装了一个
- 相关的OBJECTPROPERTY可参考:http://msdn.microsoft.com/en-us/library/ms176105.
- 做程序开发的人都知道版本控制的重要性, 代码的管理好说,TFS/SVN/VSS/CVS,哪个都能用。但涉及到数据库的版本控制,就不是太好做的
- MySQL数据库没有增量备份的机制,但它提供了一种主从备份的机制,就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备
- ------谁正在访问数据库?Select c.sid, c.serial#,c.username,a.object_id,b.
- 前言多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有
- 在 Internet 连接无处不在的今天,我们忽然有了另外一个需求,离线 Web。Gmail, Google Reader, Zoho 这些