Pandas之数据追加df.append方式

 更新时间:2023年08月15日 09:49:23   作者:山茶花开时。  
这篇文章主要介绍了Pandas之数据追加df.append方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Pandas 数据追加df.append

df.append()可以将其他DataFrame附加到调用方的末尾,并返回一个新对象

它是最简单、最常用的数据合并方式

语法

df.append(other, ignore_index=False, verify_integrity=False, sort=False)

参数

  • other:调用方要追加的其他DataFrame或者类似序列内容。可以放入一个由DataFrame组成的列表,将所有DataFrame追加起来
  • ignore_index:如果为True,则重新进行自然索引
  • verify_integrity:如果为True,则遇到重复索引内容时报错
  • sort:进行排序

1.相同结构

如果数据的字段相同,直接使用第一个DataFrame的append()方法,传入第二个DataFrame。

如果需要追加多个DataFrame,可以将它们组成一个列表再传入

import pandas as pd
df1 = pd.DataFrame({'x':[1,2],'y':[3,4]})
df2 = pd.DataFrame({'x':[5,6],'y':[7,8]})
res1 = df1.append(df2)
# 追加多个数据
res2 = df1.append([df2,df2,df2])

结果展示

df1

df2

res1

res2

2.不同结构

对于不同结构的追加,一方有而另一方没有的列会增加,没有内容的位置用NaN填充

import pandas as pd
df1 = pd.DataFrame({'x':[1,2],'y':[3,4]})
df3 = pd.DataFrame({'y':[5,6],'z':[7,8]})
# 追加合并
res = df1.append(df3)

结果展示

df1

df3

res

3.忽略索引

追加操作索引默认为原数据的,不会改变,如果需要忽略,可以传入ignore_index = True

import pandas as pd
df1 = pd.DataFrame({'x':[1,2],'y':[3,4]})
df2 = pd.DataFrame({'x':[5,6],'y':[7,8]})
# 忽略索引
res = df1.append(df2, ignore_index=True)

结果展示

df1

df2

res

4.重复内容

重复内容默认是可以追加的,如果传入verify_integrity = True参数和值,则会检测追加内容是否重复,如有重复会报错

import pandas as pd
df1 = pd.DataFrame({'x':[1,2],'y':[3,4]})
df2 = pd.DataFrame({'x':[5,6],'y':[7,8]})
# 合并两个相同的内容(报错)
df1.append([df2,df2], verify_integrity=True)

结果展示

df1

df2

5.追加序列

append()除了追加DataFrame外,还可以追加一个Series,经常用于数据添加更新场景

import pandas as pd
df = pd.DataFrame([['liver','E',89,21,24,64],
                   ['Arry','C',36,37,37,57],
                   ['Ack','A',57,60,18,84],
                   ['Eorge','C',93,96,71,78],
                   ['Oah','D',65,49,61,86]
                  ], 
                   columns = ['name','team','Q1','Q2','Q3','Q4'])
# 定义新同学的信息
lily = pd.Series(['lily','C',55,56,57,58],
                 index=['name','team','Q1','Q2','Q3','Q4'])
# 追加
df = df.append(lily, ignore_index=True)

结果展示

原df

lily

新df

6.追加字典

append()还可以追加字典

import pandas as pd
df = pd.DataFrame([['liver','E',89,21,24,64],
                   ['Arry','C',36,37,37,57],
                   ['Ack','A',57,60,18,84],
                   ['Eorge','C',93,96,71,78],
                   ['Oah','D',65,49,61,86]
                  ], 
                   columns = ['name','team','Q1','Q2','Q3','Q4'])
# 将学生信息定义为一个字典
lily = {'name':'lily','team':'C','Q1':55,'Q2':56,'Q3':57,'Q4':58}
df = df.append(lily, ignore_index=True)

结果展示

原df

lily

新df

扩展练习案例

import pandas as pd
df_list = []
df1 = pd.DataFrame([['A',1]],columns = ['Site','number'])
df_list.append(df1)
df2 = pd.DataFrame([['B',2]],columns = ['Site','number'])
df_list.append(df2)
df_all = pd.concat([df1,df2])
df3 = pd.DataFrame([['C',3]],columns = ['Site','number'])
df_list.append(df3)
df_all = pd.concat(df_list)
df_all = df_all.reset_index(drop=True)

df1

df2

df3

df_all

df_list

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python统计RGB图片某像素的个数案例

    python统计RGB图片某像素的个数案例

    这篇文章主要介绍了python统计RGB图片某像素的个数案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Django处理Ajax发送的Get请求代码详解

    Django处理Ajax发送的Get请求代码详解

    在本篇文章里小编给大家整理了关于Django处理Ajax发送的Get请求代码知识点,有需要的朋友们参考学习下。
    2019-07-07
  • python实现的文件夹清理程序分享

    python实现的文件夹清理程序分享

    这篇文章主要介绍了python实现的文件夹清理程序分享,可以按时间清理和指定配置文件清理,需要的朋友可以参考下
    2014-11-11
  • Pytorch torch.repeat_interleave()用法示例详解

    Pytorch torch.repeat_interleave()用法示例详解

    torch.repeat_interleave() 是 PyTorch 中的一个函数,用于按指定的方式重复张量中的元素,这篇文章主要介绍了Pytorch torch.repeat_interleave()用法示例详解,需要的朋友可以参考下
    2024-01-01
  • 18个好用的Python技巧分享(建议收藏)

    18个好用的Python技巧分享(建议收藏)

    在这篇文章中,我们将讨论最常用的一些python技巧,这些技巧都是在日常工作中使用过的简单的Trick,小编觉得好东西就是要拿出来和大家一起分享哒
    2023-07-07
  • 深入讲解Python命令行解析模块argparse

    深入讲解Python命令行解析模块argparse

    Python 提供了一个解析命令行参数的标准库 argparse,可以让我们轻松编写用户友好的命令行接口,接下来我们就来详细介绍一下argparse 的使用方法吧
    2023-06-06
  • Python如何使用队列方式实现多线程爬虫

    Python如何使用队列方式实现多线程爬虫

    这篇文章主要介绍了Python如何使用队列方式实现多线程爬虫,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Python中判断子串存在的性能比较及分析总结

    Python中判断子串存在的性能比较及分析总结

    这篇文章主要给大家总结介绍了Python中判断子串存在的性能比较及分析的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • python实现在IDLE中输入多行的方法

    python实现在IDLE中输入多行的方法

    下面小编就为大家分享一篇python实现在IDLE中输入多行的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python中GeoJson和bokeh-1的使用讲解

    Python中GeoJson和bokeh-1的使用讲解

    今天小编就为大家分享一篇关于Python中GeoJson和bokeh-1的使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01

最新评论