本文的目标是将表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表连接多余行问题内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!