Python中数据表的连接

本文介绍了Python中数据表的连接方法,包括自然连接、外连接和按索引号连接。通过实例展示了如何使用`pd.merge()`和`join()`函数进行多表操作,并给出分组聚合计算每个学生平均分的应用案例。
摘要由CSDN通过智能技术生成

在实际使用中,我们往往需要多张表一起连接才能使用,以下记录多表连接的方法:

一、学生表和分数表–自然连接

学生表和分数表建表如下:
data={‘ID’:[‘01’,‘02’,‘03’,‘04’,‘05’,‘06’,‘07’],
‘name’:[‘张三’,‘李四’,‘王五’,‘赵六’,‘田七’,‘陈八’,‘刘九’],
‘gender’:[True,False,True,False,True,False,True],
‘age’:[20,18,19,18,13,17,19],
‘height’:[1.88,1.68,1.78,1.59,1.70,1.60,1.71]
}
student = DataFrame(data)

data2={‘SID’:[‘01’,‘01’,‘02’,‘03’,‘03’,‘03’,‘04’,‘04’,‘05’,‘06’,‘06’],
‘CID’:[‘A01’,‘A02’,‘A01’,‘A01’,‘A02’,‘B01’,‘A01’,‘A03’,‘B01’,‘A02’,‘B01’],
‘Score’:[56,78,90,74,86,89,67,80,77,76,90]}
scores = DataFrame(data2)

【脚本】
print( pd.merge(student,scores,left_on=‘ID’,right_on=‘SID’) )
【结果】
ID name gender age height SID CID Score
0 01 张三 True 20 1.88 01 A01 56
1 01 张三 True 20 1.88 01 A02 78
【说明】
1、 以上两表中,如果关联列的列名一样,假设scores列的学生列标识也为“ID”,则可以省略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值