dataframe內建的join方法是一種快速合併的方法。它預設以index作為對齊的列。
join中的how引數和merge中的how引數一樣,用來指定表合併保留資料的規則。
具體可見前面的 how 說明。
在實際應用中如果右表的索引值正是左表的某一列的值,這時可以通過將 右表的索引 和 左表的列 對齊合併這樣靈活的方式進行合併。
ex 1
in [59]: left = pd.dataframe()
....:
in [60]: right = pd.dataframe(,
....: index=['k0', 'k1'])
....:
in [61]: result = left.join(right, on='key')
如果和表合併的過程中遇到有一列兩個表都同名,但是值不同,合併的時候又都想保留下來,就可以用suffixes給每個表的重複列名增加字尾。
in [79]: result = pd.merge(left, right, on='k', suffixes=['_l', '_r'])
* 另外還有lsuffix 和 rsuffix分別指定左表的字尾和右表的字尾。
一次組合多個dataframe的時候可以傳入元素為dataframe的列表或者tuple。一次join多個,一次解決多次煩惱~
in [83]: right2 = pd.dataframe(, index=['k1', 'k1', 'k2'])
in [84]: result = left.join([right, right2])
如果乙個表的nan值,在另乙個表相同位置(相同索引和相同列)可以找到,則可以通過combine_first來更新資料
如果要用一張表中的資料來更新另一張表的資料則可以用update來實現
使用combine_first會只更新左表的nan值。而update則會更新左表的所有能在右表中找到的值(兩表位置相對應)。
pandas合併操作
通過鍵 這裡的鍵是dataframe的某一列 拼接列,應用場景 針對同一主鍵存在兩張包含不同欄位的表,如果想把這兩張表整合成一張表,就可以使用merge。merge結果的行數並沒有 pd.merge left,right,how inner on none,suffixes x y 引數how in...
Pandas中的join 合併資料方法
根據行索引合併資料 join方法能通過索引或指定列來連線dataframe,語法格式如下 join other,on none,how left lsuffix rsuffix sort false 上述方法引數表示的含義如下 on 用於連線名。如果兩個表中行索引和列索引重疊,那麼當使用join 方...
pandas 做合併操作 merge函式
pandas的merge方法提供了一種類似於sql的記憶體鏈結操作,官網文件提到它的效能會比其他開源語言的資料操作 例如r 要高效。merge的引數 on 列名,join用來對齊的那一列的名字,用到這個引數的時候一定要保證左表和右表用來對齊的那一列都有相同的列名。left on 左表對齊的列,可以是...