Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)

Pandas基础学习

本次跟随Datawhale组队学习Pandas基础,希望能有所收获。Datawhale是一个很好的开源组织,会组织很多免费的知识学习。

附上本次组队学习的计划和教程资料,即使没有当时加入组队学习,有兴趣的话从现在开始学习也不晚哦~

现在学习喜欢用脑图的方式,知识点清晰明了,易于查找和复习,希望也可以帮助大家梳理知识脉络。

一、Task05:合并

Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
链接:https://pan.baidu.com/s/1BU7cR3CniYkMHq1egI_RbA
提取码:uo3g

二、问题与练习

1、问题

【问题一】 请思考什么是append/assign/combine/update/concat/merge/join各自最适合使用的场景,并举出相应的例子。
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)

Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
【问题二】 merge_ordered和merge_asof的作用是什么?和merge是什么关系?

merge_ordered:使用可选的填充/插值执行合并。

merge_asof:执行合并。这类似于左连接,只是我们匹配最近的键而不是相等的键。可以说是一种去除NaN的连接方法。

感觉是merge方法的延伸,应对与一些特殊的merge情况。

【问题三】 请构造一个多级索引与多级索引合并的例子,尝试使用不同的合并函数。
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
【问题四】 上文提到了连接的笛卡尔积,那么当连接方式变化时(inner/outer/left/right),这种笛卡尔积规则会相应变化吗?请构造相应例子。
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)

Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)

2、练习

【练习一】有2张公司的员工信息表,每个公司共有16名员工,共有五个公司,请解决如下问题:
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
(a) 每个公司有多少员工满足如下条件:既出现第一张表,又出现在第二张表。
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)

(b) 将所有不符合(a)中条件的行筛选出来,合并为一张新表,列名与原表一致。
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
© 现在需要编制所有80位员工的信息表,对于(b)中的员工要求不变,对于满足(a)条件员工,它们在某个指标的数值,取偏离它所属公司中满足(b)员工的均值数较小的哪一个,例如:P公司在两张表的交集为{p1},并集扣除交集为{p2,p3,p4},那么如果后者集合的工资均值为1万元,且p1在表1的工资为13000元,在表2的工资为9000元,那么应该最后取9000元作为p1的工资,最后对于没有信息的员工,利用缺失值填充。
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
【练习二】有2张课程的分数表(分数随机生成),但专业课(学科基础课、专业必修课、专业选修课)与其他课程混在一起,请解决如下问题:
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)
Pandas基础学习 Task05:合并(知识梳理脑图+全部资源教程)