Pandas中merge和join的區別


可以說merge包含了join操作,支持兩個df間行方向或列方向的拼接操作,默認列拼接,取交集,而join只是簡化了merge的行拼接的操作

示例

定義一個left的DataFrame

left=pd.DataFrame([
    [1,2],[3,4],[5,6]
],
    index=['a','c','e'],
    columns=['chenqionghe','muscle']
)


定義一個right的DataFrame

right=pd.DataFrame([
    [7,8],[9,10],[11,12],[13,14],
],
    index=['b','c','d','e'],
    columns=['light','weight']
)

然后,我們使用merge通過索引合並這兩個Dataframe,如下

left.merge(right,left_index=True,right_index=True,how='outer')

然后,通過join方法實現相同的操作

left.join(right,how='outer')

可以看出join其實是省略了參數的merge,並且沒有基於列的連表功能

merge的參數

  • left:參與合並的左側DataFrame
  • right:參與合並的右側DataFrame
  • how:inner、outer、left、right其中之一
  • left_index:將左側的行索引用作其連接鍵的列
  • right_index:類似於left_index
  • sort:根據連接鍵對合並后的數據進行排序,默認為True。有時在處理大數據集時,禁用該選項可獲得更好的性能
  • suffixes:字符串值元組,用於追加到重疊列名,默認為('_x','_y')
  • copy:設置為False,可以在某些我死情況下避免將數據復制到結果數據結構中,默認總是復制


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM