ad

从《Python数据分析案例教程》中_领悟数据和Python的魅力_6.2.1 数据合并

admin 80 2023-10-25

【摘要】 本书摘自《Python数据分析案例教程》一书中第6章,第2节,由万念斌、肖伟东、叶丰标编著。

6.2.1 数据合并

Pandas 提供了一个类似于关系数据库的连接操作的方法 merge(), 它可以根据一个或 多个键将不同 DataFrame 中的行连接起来。 merge() 函数原型为:

DataFrame.merge(self,right,how='inner',on=None,LEFT on=None,right on=

None,left index=False,right index=False, sort=False,suffixes=(' x',' y'),copy=True,indicator=False,validate=None)

从《Python数据分析案例教程》中_领悟数据和Python的魅力_6.2.1 数据合并

常见参数的作用如下:

(1)self:合并的左侧 DataFrame 对象。

(2)right:需要合并的右侧DataFrame 对象。

(3)how: 合并类型,值为{'left','right','outer','inner'},默认为 'inner'。当 how= 'left'时表示仅使用左侧 DataFrame 中的键,类似于SQL 左外部连接,保留键顺序;当 how ='right'时表示仅使用右侧 DataFrame 中的键,类似于SQL 右外部连接,保留键顺序;当 how='outer '时表示使用来自两个 DataFrame 的键的联合,类似于SQL 完全外部连接,按 字典顺序对键排序;当 how='inner '时表示使用来自两个 DataFrame 的键的交集,类似于 SQL 内部连接,保留左键的顺序。

(4)on:要连接的列或索引级别名称,这些列名必须在左侧和右侧 DataFrame 对象中找 到。如果 on 为"None",并且不合并索引,则默认为两个数据帧中列的交叉点。

(5)left on:左侧DataFrame 中连接的列或索引级别名称,也可以是左侧DataFrame 长 度的数组或数组列表,这些数组被视为列。

(6)right on:右侧 DataFrame 中连接的列或索引级别名称,也可以是右侧 DataFrame 长度的数组或数组列表,这些数组被视为列。

(7)left index:使用左侧DataFrame 中的索引作为连接键,布尔值,默认为 False。 如果 为True,则使用左侧DataFrame 中的索引(行标签)作为其连接键;如果是多索引,则其他 DataFrame 中的键数(索引或列数)必须与级别数匹配。

(8)right index:使用右侧DataFrame 中的索引作为连接键,布尔值,默认为 False。 如 果为True,则使用右侧DataFrame 中的索引(行标签)作为其连接键;如果是多索引,则其他 DataFrame 中的键数(索引或列数)必须与级别数匹配。

(9)sort:在结果DataFrame 中按字典方式对连接键排序,布尔值,默认为 False。 如果 sort='False',则连接键的顺序取决于连接类型(how 关键字)。

(10)suffixes:要分别应用于左侧和右侧重叠的列名的后缀,值为(str,str)的元组,默认 值为(' x',' y')。要在重叠列上引发异常,使用(False,False)。

(11)copy:复制,布尔值,默认为 True。 如果为False,不复制。

(12)indicator:布尔值或字符串 str,默认为 False。 如果 indicator=True,则向输出 DataFrame 中添加一个名为“合并”的列,其中包含有关每行的源信息。如果 indicator 是字 符串,则每行的源信息列将被添加到输出 DataFrame 中,列将被命名为字符串的值。信息 列是分类类型,对于合并键只出现在“left DataFrame”中的观测值,其值为"left only";对于 合并键只出现在"right DataFrame"中的观测值,其值为"right only";如果观测值的合并键 出现则两者都有。

(13)validate:验证值,字符串,可选。如果指定,则检查合并是否为指定类型。"one to one"或"1:1"表示检查合并键在左右数据集中是否唯一;"one to many"或"1:m" 表示检查 合并键在左侧数据集中是否唯一;"many to one"或"m:1" 表示检查合并键在正确的数据集 中是否唯一;"many to many" 或"m:m" 表示允许,但不会检查结果。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《智能制造服务云平台初探》_让你更懂智能制造_6.13 机房及数据中心
下一篇:看《Excel人力资源管理实操全流程演练》如何教你做更好的表格_5.3 培训成本表设计维护
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×