當前位置:
首頁 >
Python-dataframe合并(merge函数)
發布時間:2025/3/20
23
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Python-dataframe合并(merge函数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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) #沒有指明聯結的建,會將重疊列的列名當作鍵。
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')
#若兩列所要聯結的鍵不同可以分別制定,且默認也是innerpd.merge(df1,df2,how='outer') #兩個數據框不都有的key值會出現NaN
多對多
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' 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全部出現 #多對多聯結產生的結果是笛卡兒積,左邊df1有3個b,右邊df2有2兩個b,共得6個bpd.merge(df1,df2,how='inner')根據多個列合并
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' 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'])重復列名處理
pd.merge(left,right,on='key1') #對于key2來說其是重復的列名pd.merge(left,right,on='key1',suffixes=('_left','_right'))索引上的合并 (列名上無重復,index上有重復)
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列聯結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') #直接實現按索引合并 left1.join(right1,on='key') #是merge里的outer聯結總結
以上是生活随笔為你收集整理的Python-dataframe合并(merge函数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 字典+列表集合+文件读取
- 下一篇: python学习-之汉诺塔实现