日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python-dataframe合并(merge函数)

發(fā)布時(shí)間:2025/3/20 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。