pandas笔记(9)——多表连接

本文详细介绍了Pandas中的多表连接方法,包括横向连接(merge)和纵向连接(concat)。merge()方法支持类似SQL的连接方式,如left、right、outer和inner连接,可以根据指定列或索引进行连接。而concat()方法则用于纵向连接,通过axis参数也可实现横向连接。文中通过实例展示了各种连接方式及其参数的使用,包括连接列的选择、列名处理、索引的使用以及连接方式的影响等。
摘要由CSDN通过智能技术生成

多表横向连接——merge()

Python中使用merge()方法来实现多表的横向连接,根据参数how的值,可以进行类似sql中的左右内外的连接方式。

  • 格式:
    merge ( left, right, how: str = ‘inner’, on=None, left_on=None, right_on=None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes=(’_x’, ‘_y’), copy: bool = True, indicator: bool = False, validate=None )

  • 参数:
    left:被链接的左表
    right:被链接的右表
    how:表的连接方式,类似sql。有{‘left’, ‘right’, ‘outer’, ‘inner’},四种,默认 inner
    on:两个表进行连接的参照列,为默认值None时,
    left_on:左侧表连接匹配列
    right_on:右侧表连接匹配列
    left_index:左侧表连接索引
    right_index:右侧表连接索引
    sort:对结果表进行排序
    suffixes:对于两个表都有重复列,自动添加’_x’, '_y’后缀
    indicator:在结果表中增加一列,用于显示数据来自哪个表中

  • 创建DataFrame

import pandas as pd 
df1 = pd.DataFrame({
   "id":range(5),"姓名":list('abcde')})
df2 = pd.DataFrame({
   "id":range(5),"成绩":[95,84,66,85,71]})
df3 = pd.DataFrame({
   "id":[1,1,2,3,3,3,4,4,0],"成绩":[95,84,63,68,87,75,68,97,58]})
print(df1)
print(df2)
print(df3)

# 返回
	id	姓名
0	0	a
1	1	b
2	2	c
3	3	d
4	4	e

	id	成绩
0	0	95
1	1	84
2	2	66
3	3	85
4	4	71

	id	成绩
0	1	95
1	1	84
2	2	63
3	3	68
4	3	87
5	3	75
6	4	68
7	4	97
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值