栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[Pandas] 数据追加 df.append

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/740764.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号