Pandas知识点-添加操作append

共 2207字,需浏览 5分钟

 ·

2021-07-06 11:13

在Pandas中,append()方法用于将一个或多个DataFrame或Series添加到DataFrame中。append()方法也可以用于合并操作,本文介绍append()方法的用法。


append()实现合并




append(other): 将一个或多个DataFrame添加到调用append()的DataFrame中,实现合并的功能,other参数传入被合并的DataFrame,如果需要添加多个DataFrame,则用列表或元组的方式传入。


append()方法通过添加的方式实现了合并的功能,这种合并功能是按行(纵向)进行合并的,合并结果的行数是所有DataFrame的行数之和。


填充不存在的列




如果调用append()的DataFrame和传入append()的DataFrame中有不同的列,则添加后会在不存在的列填充空值,这样即使两个DataFrame有不同的列也不影响添加操作。


添加多个DataFrame




添加多个DataFrame时,用列表或元组的方式传入多个DataFrame即可,添加的原理不变。如果需要,可以将批量的DataFrame合并成一个DataFrame。


重设行索引




ignore_index: ignore_index参数默认为False,结果的行索引保持原DataFrame中的行索引,即使存在相同的行索引也不受影响。将ignore_index修改为True,则结果的行索引被重设为从0开始的整数索引。


verify_integrity: verify_integrity参数默认为False,添加的DataFrame中有相同的行索引时,可以保留原结果。将verify_integrity修改为True,如果添加的DataFrame中有相同的行索引,会抛出ValueError。设置verify_integrity参数为True,是为了避免结果中的行索引重复,但很可能会导致添加失败,所以需要先观察原始数据是否适合。


ignore_index和verify_integrity同时使用时,ignore_index先生效,所以两个参数同时使用时,不会抛出异常。


添加Series




append()方法也可以在DataFrame中添加Series。添加Series时,要将ignore_index参数设置为True或给Series设置name参数,否则会抛出TypeError,原因是Series没有列名。


设置ignore_index参数为True会重设结果的行索引,这样添加的Series作为结果中的一行,会自动生成行索引。


指定Series的name参数,这样Series将以name参数作为行索引添加到DataFrame中。即使指定的name值与DataFrame中的行索引重复,也可以添加成功(verify_integrity不为True)。


总结



截止到本文,本系列介绍了可以用于合并操作的五种方法:concat()、merge()、join()、combine()、append(),总结一下它们的用法差异。


concat(): 连接操作,可以连接多个DataFrame,可以设置按行合并还是按列合并。有inner、outer、left、right四种不同的连接方式。可以对结果的索引进行设置,尤其是对多重行索引的处理提供了多种方式。


merge(): 合并操作,只能用于合并两个DataFrame,且都是按列进行合并,只有当两个DataFrame的列名完全一样时才是按行合并的效果。合并时根据指定的连接列(或行索引)和连接方式来匹配两个DataFrame的行。可以在结果中设置相同列名的后缀和显示连接列是否在两个DataFrame中都存在。


join(): 加入操作,可以在一个DataFrame中加入多个DataFrame,结果都是按列进行合并的。合并时根据指定的连接列(或行索引)和连接方式来匹配两个DataFrame的行,也可以设置相同列名的后缀,所以有时候join()和merge()可以相互转换。


combine(): 联合操作,用于两个DataFrame,按列的方式进行联合。联合操作是将一个DataFrame中的部分数据用另一个DataFrame中的数据替换或补充,通过一个函数来定义联合时取数据的规则。在联合过程中还可以对空值进行填充。


append(): 添加操作,可以将多个DataFrame添加到一个DataFrame中,按行的方式进行添加。添加操作只是将多个DataFrame按行拼接到一起,可以重设行索引。


以上就是Pandas添加方法append()的介绍,如果需要本文代码,可以点击下方名片关注公众号“Python碎片”,然后在后台回复“pandas16”关键字获取完整代码。想学习更多Python知识,立即点击关注。


> 参考文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html
浏览 60
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报