Pandas中的join 合併資料方法

2021-10-10 18:11:38 字數 1809 閱讀 9674

根據行索引合併資料

join方法能通過索引或指定列來連線dataframe,語法格式如下:

join(other,on=none,how=「left」,lsuffix=" 「,rsuffix=」 ",sort=false)

上述方法引數表示的含義如下:

on:用於連線名。      //如果兩個表中行索引和列索引重疊,那麼當使用join()方法進行合併時,使用引數on指定重疊的列名即可

how:可以從 中任選乙個,預設使用left的方式。

lsuffix:接收字串,用於在左側重疊的列名後新增字尾名。

rsuffix:接收字串,用於在右側重疊的列名後新增字尾名。

sort:接收布林值,根據連線鍵對合併的資料進行排序,預設為false。

join()方法預設使用的左連線方式,即以左表為基準,join()方法進行合併後左表的資料會全部展示。

接下來通過**演示:

例子1 join()使用預設連線方法和外連線方法:

left.join(right) #預設為左連線

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

例子2 行索引和列索引重疊時on的方法:

import pandas as pd         #兩個表中的行索引和列索引重疊,使用join方法進行合併,使用引數on指定重疊的列名

left=pd.dataframe(,index=['a','b'])

right=pd.dataframe(,index=['k1','k2'])

left.join(right,on='key',how='left')

例子3 lsuffix引數的用法:

import pandas as pd            

jk=pd.dataframe()

jk1=pd.dataframe()

jkjk1

jk.join(jk1,lsuffix='_hkjlj') #lsuffix左側重複的列名新增字尾名,如_kjkj,前面要加 "_"

例子4 rsuffix引數的用法:

jk

jk1jk.join(jk1,rsuffix='_hkjlj') #rsuffix右側重複的列名新增字尾名

pandas 合併操作join函式

dataframe內建的join方法是一種快速合併的方法。它預設以index作為對齊的列。join中的how引數和merge中的how引數一樣,用來指定表合併保留資料的規則。具體可見前面的 how 說明。在實際應用中如果右表的索引值正是左表的某一列的值,這時可以通過將 右表的索引 和 左表的列 對齊...

Pandas 橫向合併DataFrame資料

要保證對應列的資料型別是一致的!不要出現,a的datetime型別是timestemp b的datetime型別是str。否則橫向合併時會出現合併上去的列為nan。需要將兩個dataframe進行橫向拼接 對 a dataframe 拼接一列資料 資料樣例如下 將右側source df中的 fact...

python中pandas的幾種合併

import pandas as pd import numpy as np 1 上下合併 df1 pd.dataframe np.ones 2,4 0,columns a b c d df2 pd.dataframe np.ones 2,4 1,columns a b c d 兩行四列,每一列分別...