数据分析笔记--pandas的多表连接

本文介绍了如何使用Pandas进行多表连接。详细讲解了merge函数的默认连接方式、通过on指定外键、连接方式(内连接、外连接、左连接、右连接)以及如何处理不同表的外键不统一的情况。还提到了列名冲突时的自动后缀添加,并展示了如何自定义后缀。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pandas as pd

import numpy as np

定义两个DataFrame数据集


使用merge进行多表连接

1.默认连接方式(会使用表之间相同的列名作为外键进行连接,如果有两边对不上的字段则会自动丢弃)


2.通过on指定外键

on指定外键,如果有重名的列名就会自动更改名称,有不对应的数据也会丢弃


pd.merge默认使用的是内连接

内连接:相当于取两个数据集的交集,即二者都有的部分

外连接:两个数据集的并集,即全部数据


3.通过how指定连接方式

inner表示内链接,outer表示外连接(缺失数据会补充为NaN)


left表示左连接,right表示右连接(尽量保证左表的数据完整或者右表的数据完整)


4.指定左边表的外键left_on和右边表的外键right_on(处理两张表的外键不统一的情况)


5.left_index和right_index(使用索引作为外键连接)

如下,左边表使用列名作为外键,右边表使用索引作为外键


如果合并之后两边表有重名的列,则自动会在列名后加上_x或者_y

要想自定义后缀,则需要加上suffixes参数,例如suffixes=["_left","_right"]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值