本文的目标是将表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)
这样结果就没有问题了。
在尝试使用pandas的merge函数进行左外连接表1(论文及出版物)和表2(出版物及其指标)时,发现连接后的表比原始表多了13行。原因在于表2中存在出版物的重复行,如出版物A对应多个指标。通过删除表2中的重复出版物信息,成功解决了这一问题,确保了连接结果的正确性。
3万+

被折叠的 条评论
为什么被折叠?



