Python-dataframe合并(merge函数)
生活随笔
收集整理的這篇文章主要介紹了
Python-dataframe合并(merge函数)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
import pandas as pd
import numpy as np
df1=pd.DataFrame({'key':['b','b','a','c','a','a','b'],'data1':range(7)})
df2=pd.DataFrame({'key':['a','b','d'], 'data2':range(3)})
pd.merge(df1,df2) #沒(méi)有指明聯(lián)結(jié)的建,會(huì)將重疊列的列名當(dāng)作鍵。
pd.merge(df1,df2,on='key').sort_values(by='key')
df3=pd.DataFrame({'lkey':['b','b','a','c','a','a','b'],'data1':range(7)})
df4=pd.DataFrame({'rkey':['a','b','d'],'data2':range(3)})pd.merge(df3,df4,left_on='lkey',right_on='rkey')
#若兩列所要聯(lián)結(jié)的鍵不同可以分別制定,且默認(rèn)也是innerpd.merge(df1,df2,how='outer') #兩個(gè)數(shù)據(jù)框不都有的key值會(huì)出現(xiàn)NaN
多對(duì)多
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' df1=pd.DataFrame({'key':['b','b','a','c','a','b'],'data1':range(6)}) df2=pd.DataFrame({'key':['a','b','a','b','d'],'data2':range(5)})pd.merge(df1,df2,how='left') #left保證df1的data1全部出現(xiàn) #多對(duì)多聯(lián)結(jié)產(chǎn)生的結(jié)果是笛卡兒積,左邊df1有3個(gè)b,右邊df2有2兩個(gè)b,共得6個(gè)bpd.merge(df1,df2,how='inner')根據(jù)多個(gè)列合并
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' left=pd.DataFrame({'key1':['foo','foo','bar'],'key2':['one','two','one'],'lval':[1,2,3]}) right=pd.DataFrame({'key1':['foo','foo','bar','bar'],'key2':['one','one','one','two'],'rval':[4,5,6,7]}) pd.merge(left,right,on=['key1','key2'],how='outer') pd.merge(left,right,on=['key1','key2'])重復(fù)列名處理
pd.merge(left,right,on='key1') #對(duì)于key2來(lái)說(shuō)其是重復(fù)的列名pd.merge(left,right,on='key1',suffixes=('_left','_right'))索引上的合并 (列名上無(wú)重復(fù),index上有重復(fù))
left1=pd.DataFrame({'key':['a','b','a','a','b','c'],'values':range(6)}) right1=pd.DataFrame({'group_val':[3.5,7]},index=['a','b'])pd.merge(left1,right1,left_on='key',right_index=True) #將left1的key列與left2的index列聯(lián)結(jié)left2=pd.DataFrame([[1.,2.],[3.,4.],[5.,6.]],index=['a','c','e'],columns=['ohio','nevada']) right2=pd.DataFrame([[7.,8.],[9.,10.],[11.,12.],[13.,14]],index=['b','c','d','e'],columns=['missouri','alabama'])pd.merge(left2,right2,how='outer',left_index=True,right_index=True)join方法
left2.join(right2,how='outer') #直接實(shí)現(xiàn)按索引合并 left1.join(right1,on='key') #是merge里的outer聯(lián)結(jié)總結(jié)
以上是生活随笔為你收集整理的Python-dataframe合并(merge函数)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python 字典+列表集合+文件读取
- 下一篇: python学习-之汉诺塔实现