【有书共读】跟老齐学Python 读书笔记6 之数据的合并

数据的合并

1.pd.contact
这个是之前讲过的一个函数,可以通过指定连接轴的方向axis值,来实现是按行合并还是按列合并(行列是对DataFrame对象而言的)。
图片说明
那假如通过concat对象合并的数据内容具有相同的记录呢?
图片说明
可以发现,记录 height 值为135 同时 name 值为 "conna" 的记录出现了两次,而生活中,我们往往处理的是像数据库中的一些数据,而我们知道数据库的数据一般都具有唯一性,也就是在这里我们希望记录 height 值为135 同时 name 值为 "conna" 的记录只出现一次,这个时候,我们就可以用pd.merge 函数来实现两个DataFrame对象的“数据库风格合并”了。
图片说明
事实上,之所以 pd.merge 可以实现取两个DataFrame对象的交集,是因为参数 how 默认值是"inner",既然可以设置交集,同样我们可以通过指定参数 how 的值为 “outer” 来取两个DataFrame对象的并集。
图片说明
除了并集和交集,参数 how 的取值还可以为 left 和 right,分别表示以左边的对象、右边的对象中所指定的列、以并集的方式合并数据,具体效果可以参照下图(注意红线框所圈部分)。
图片说明
我们可以通过指明参数 indicator 值为 True 来使数据来源更加清楚,其中 "left_only" 表示该行记录来源于左边的DataFrame对象, “right_only”表示该行记录来源于右边的DataFrame对象,自然而然,"both" 表示该行记录来源于左、右对象共有的记录。
图片说明
除了以整个左边的列、整个右边的列为关键字,还可以通过指定参数 on 的值,来选取指定列为合并的关键字选项(注意下图出现 NaN 是空数据),一般参数 on 的取值为左、右对象共有的列,如果是要单独用左边对象的列为合并关键字,或者右边对象的列为合并关键字,可以分别设置参数 left_on 和 right_on 的值来实现。
图片说明
关于 pd.merge 函数的更多参数设置可以看官方文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.merge.html

#读书笔记##笔记##Python#
全部评论
顶一个
点赞 回复 分享
发布于 2018-08-26 21:34

相关推荐

点赞 评论 收藏
分享
来个大佬救一下,为上投了都是石沉大海了,没实习经历的话怕秋招直接进不了面。什么实习这么难找,基本
心态爆炸了:现在正式的岗位都少,实习基本不咋招的,除了大厂,中小企业其实没那么多岗位需求,就算是有,大多都是招一两个廉价劳动力,同时,他们也会希望你一来就能干活的,没时间培训你,就让你了解公司的项目,你了解完就可以开始干活。再者是,很多低质量的实习其实用处没有那么大的。我去年也是找实习找到破防,最后去了一家深圳的小公司实习,工作对我来说很简单,甚至不如我在学校做的项目,秋招的时候,这段实习经历也并没有帮上什么忙,投递简历,依旧非常低的回复率。低回复率是常态,尤其是找实习,找不到,那就把重心放在优化自己的简历和项目,多看八股文,锻炼自己的面试能力,多看别人的面经,自己模拟面试,等秋招的时候,只要有那么寥寥几次,好好抓住那几次机会。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务