首页 > 编程语言 > 详细

用python进行表格的连接

时间:2020-11-16 22:36:15      阅读:60      评论:0      收藏:0      [点我收藏+]

1.merge()函数

技术分享图片
#若未指定在哪一列上进行连接,则自动将重叠列名作为连接的键,指定键,用on=‘‘
# print(pd.merge(df1,df2,on=‘key‘))#innerjoin,交集
# print(pd.merge(df1,df2,how=‘outer‘))#联合了左连接和右连接的效果,是并集
# print(pd.merge(df1,df2,how=‘left‘))#相当于left join,若左边值唯一,右边值是两个,则会显示两个重复的值


#若列名不同,则可分别指定列名
# df3=pd.DataFrame({‘lkey‘:[‘b‘,‘b‘,‘a‘,‘c‘,‘a‘,‘a‘,‘b‘],‘data1‘:range(7)})
# df4=pd.DataFrame({‘rkey‘:[‘a‘,‘b‘,‘d‘],‘data2‘:range(3)})
# print(pd.merge(df3,df4,left_on=‘lkey‘,right_on=‘rkey‘))

df1=pd.DataFrame({‘key1‘:[‘b‘,‘b‘,‘a‘,‘c‘,‘a‘,‘b‘],‘data1‘:range(6)})
df2=pd.DataFrame({‘key2‘:[‘a‘,‘b‘,‘a‘,‘b‘,‘d‘],‘data2‘:range(5)})
#merge()函数进行多对多连接,结果为行的笛卡尔积,列如左边的df1有三个b,右边的df2有两个b,则昨连接后有6个b。
print(pd.merge(df1,df2,left_on=‘key1‘,right_on=‘key2‘,how=‘left‘))

#使用多个键进行合并时,传入一个列名的列表 on=[‘key1‘,‘key2‘]
left=pd.DataFrame({‘key1‘:[‘foo‘,‘foo‘,‘bar‘],‘key2‘:[‘one‘,‘one‘,‘two‘],‘lval‘:[1,2,3]})
right=pd.DataFrame({‘key1‘:[‘foo‘,‘foo‘,‘bar‘,‘bar‘],‘key2‘:[‘one‘,‘one‘,‘one‘,‘two‘],‘rval‘:[4,5,6,7]})
print(pd.merge(left,right,on=[‘key1‘,‘key2‘],how=‘outer‘))

#连接合并后处理重叠列名,使用merge函数的suffixes参数
print(pd.merge(left,right,on=‘key1‘,suffixes=(‘_a‘,‘_b‘)))
View Code

 

技术分享图片

 

 

 

技术分享图片

 

用python进行表格的连接

原文:https://www.cnblogs.com/lianghaiming/p/13987006.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!