作者:Larry_He | 来源:互联网 | 2023-08-22 17:42
本文的目标是将表1论文及出版物与表2出版物及其指标进行匹配。
![表1 论文出版物信息(存在空值)](https://img4.php1.cn/3cdc5/6a86/243/5cec16b4d7a081b4.jpeg)
![表2 出版物指标信息](https://img4.php1.cn/3cdc5/6a86/243/25e63246f5980f9d.jpeg)
利用pandas的merge函数实现表的左外连接。左外连接即左表的外连接,左表保持不变,匹配右表的行(合并后右表肯能存在空值)。
paperPublicationIndicator = pd.merge(paperPublication,publicationIndicator,how='left',left_on='出版物',right_on='名称',sort=False)
结果发现连接后表多出来13行。进行探究发现是表2出版物指标信息中存在 出版物A-指标1,出版物A-指标2这样的出版物重复行。记性匹配后会出现:
出版物 名称 指标
出版物A 出版物A 指标1
出版物A 出版物A 指标2
这里选择预先删除 表2出版物指标 中的重复出版物信息。
publicationIndicator.drop_duplicates(subset=['名称'],keep='first',inplace=True)
这样结果就没有问题了。