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同位置上的元素來補,你能夠理解爲「打補丁」操做。