使用pd.merge表連接出現多餘行的問題解決
本文的目標是將表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!
推薦閱讀:
- Python數據分析之 Pandas Dataframe合並和去重操作
- pd.drop_duplicates刪除重復行的方法實現
- python Dataframe 合並與去重詳情
- Python Pandas中DataFrame.drop_duplicates()刪除重復值詳解
- Python pandas找出、刪除重復的數據實例