在实际使用中,我们往往需要多张表一起连接才能使用,以下记录多表连接的方法:
一、学生表和分数表–自然连接
学生表和分数表建表如下:
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”,则可以省略