首页 > 编程语言 > 详细

用python进行表格的连接

时间:2020-11-16 22:36:15      阅读:52      评论: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 版权所有
打开技术之扣,分享程序人生!