使用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表連接多餘行問題內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: