python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pd.merge表连接多余行问题

使用pd.merge表连接出现多余行的问题解决

作者:路明非Re

本文主要介绍了使用pd.merge表连接出现多余行的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

本文的目标是将表1论文及出版物与表2出版物及其指标进行匹配。

表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)

这样结果就没有问题了。

到此这篇关于使用pd.merge表连接出现多余行的问题解决的文章就介绍到这了,更多相关pd.merge表连接多余行问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文