pandas 提供了三種主要方法可以對數據進行合並:
- pandas.merge()方法:數據庫風格的合並;
- pandas.concat()方法:軸向連接,即沿着一條軸將多個對象堆疊到一起;
- 實例方法combine_first()方法:合並重疊數據。
pandas.merge()方法:數據庫風格的合並
例如,通過merge()方法將兩個DataFrame合並:

on='name'的意思是將name列當作鍵;
默認情況下,merge做的是內連接(inner),即鍵的交集。
其他方式還有左連接(left),右連接(right)和外連接(outer)。例如將剛剛的合並指定為左連接:

再試試外連接,結果取鍵的並集:

剛剛的三個合並都是以列名作為連接鍵,DataFrame還有一個join()方法可以以索引作為連接鍵
例如:

pandas.concat()方法:軸向連接,即沿着一條軸將多個對象堆疊到一起
例如:

默認情況下,concat在豎軸(axis=0)上連接,即產生一個新的Series。如果想要在橫軸方向連接,則傳入axis=1,例如:

實例方法combine_first()方法:合並重疊數據
例如:

這個方法等價與:

它做的是一個矢量化的if-else操作,如果s1里某個位置上的數據為空,則用s2同位置上的元素來補,你可以理解為“打補丁”操作。
接下來一篇隨筆內容是:利用Python進行數據分析(13) pandas基礎: 數據重塑/軸向轉換,有興趣的朋友歡迎關注本博客,也歡迎大家添加評論進行討論。