【pandas】第六章 连接

【pandas】第六章 连接

Datawhale的pandas学习的开源地址:Joyful Pandas
https://datawhalechina.github.io/joyful-pandas/build/html/%E7%9B%AE%E5%BD%95/ch1.html

欢迎大家关注了解Datawhale :)


一、关系型连接

1. 连接的基本概念

将两张表以某列为键,进行合成,pandas中可用函数有merge和join,它们均以how参数表示连接要求。

how='left’表示完全保存左表,匹配键保存右表
how='inner’表示只保留两表均有的键

注:两边同时出现的重复键以笛卡尔积形式加入
在这里插入图片描述

2. 值连接

这里主要学习几个重要参数

  • left_on, right_on : 在两个表不具备相同的列名下定义左右表连接后的列名
    在这里插入图片描述

  • suffixes : 在两个表中有重复的列名下定义左右表连接后列名

用法:
df1.merge(df2, on=‘Name’, how=‘left’)

在这里插入图片描述

  • on : 指定多个列完成对重复值的正确连接
    在这里插入图片描述

3. 索引连接

用法:
df1.join(df2, how=‘left’)

与merge原理一致,有on和how参数,可以对重复的列指定左右后缀 lsuffix 和 rsuffix

二、方向连接

1. concat

axis:默认0纵向拼接,1横向拼接
join:默认outer保留所有的列,inner保留均出现的列
keys:合并后的表定义其组成表的行索引

用法:
pd.concat([df1, df2], axis=1, join=‘inner’,keys=[‘one’,‘two’])

2. 序列与表的合并

concat 可以实现多个表之间的方向拼接,而
append 和 assign 可以实现把一个序列追加到表的行末或者列末

在 append 中,如果原表是默认整数序列的索引,那么可以使用 ignore_index=True 对新序列对应的索引自动标号,否则必须对 Series 指定 name 属性。

用法:
df1.append(s, ignore_index=True)

assign可以通过直接在原表中添加某一列实现,只不过注意将修改原表

三、类连接操作

1. 比较

compare比较两个表或者序列的不同处并将其汇总展示

用法:
df1.compare(df2)

2. 组合

combine

用法:
df1.combine(df2, 自定义处理两表的函数名)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿芒Aris

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值