[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

### 回答1: 要在 Pandas追加数据,你可以使用 `append()` 函数。你可以将一个新的 DataFrame 或者 Series 追加在一个已有的 DataFrame 的末尾。例如,假设你有一个名为 `df1` 的 DataFrame 和一个名为 `df2` 的 DataFrame,你可以这样追加 `df2`: ```python df1 = df1.append(df2) ``` 你也可以使用 `concat()` 函数来追加多个 DataFrame。例如,假设你有三个 DataFrame,你可以这样追加它们: ```python df = pd.concat([df1, df2, df3]) ``` 如果你想在 DataFrame 中追加一行数据,你可以使用 `loc[]` 函数来定位新行的位置,并将数据插入其中。例如,假设你有一个名为 `new_row` 的 Series,你可以这样将其插入 DataFrame 的末尾: ```python df.loc[len(df)] = new_row ``` ### 回答2: Pandas 是一种Python的开源数据分析库,可以进行数据处理、数据清洗、数据分析数据可视化等多种操作。在Pandas中,我们可以使用append()方法来追加数据。 首先,我们需要创建一个空的DataFrame来保存数据: ```python import pandas as pd # 创建空的DataFrame df = pd.DataFrame(columns=['姓名', '年龄', '性别']) ``` 然后,我们可以使用append()方法来追加数据append()方法接受一个字典或者Series作为参数,表示要追加数据。例如,我们要追加一个名为"小明"的数据: ```python # 追加数据 new_data = {'姓名': '小明', '年龄': 18, '性别': '男'} df = df.append(new_data, ignore_index=True) ``` 在上面的代码中,我们使用字典表示要追加数据,注意字典的键需要与DataFrame中的列名相对应。append()方法会将新的数据作为一行追加到DataFrame中,ignore_index=True表示重新生成索引。 如果要追加多行数据,可以使用一个包含多个字典的列表来表示: ```python # 追加多行数据 new_data_list = [{'姓名': '小红', '年龄': 20, '性别': '女'}, {'姓名': '小刚', '年龄': 22, '性别': '男'}] df = df.append(new_data_list, ignore_index=True) ``` 以上就是使用Pandas追加数据的方法,通过使用append()方法,我们可以方便地将新的数据追加到DataFrame中。 ### 回答3: Pandas是一个为Python编程语言提供数据分析的库。在处理数据时,我们常常需要将新的数据追加到已有的数据集中。Pandas提供了几种方法来实现数据追加操作。 首先,我们可以使用`append()`函数来将一个DataFrame或者一个Series数据追加到另一个DataFrame中。例如,我们有一个名为`df1`的DataFrame,可以使用`df1.append(df2)`来将`df2`的数据追加到`df1`中。 另外,我们也可以使用`concat()`函数来将多个DataFrame进行合并。`concat()`函数接受一个包含多个DataFrame的列表作为参数,并返回一个新的DataFrame。例如,我们有一个名为`df1`的DataFrame和一个名为`df2`的DataFrame,可以使用`pd.concat([df1, df2])`来将两个DataFrame合并为一个新的DataFrame。 此外,我们还可以使用`join()`函数来将两个DataFrame按照某个共同的列进行合并。`join()`函数会根据这个共同的列来匹配两个DataFrame中的数据,并将它们合并为一个新的DataFrame。例如,我们有一个名为`df1`的DataFrame和一个名为`df2`的DataFrame,可以使用`df1.join(df2, on='key')`来将两个DataFrame按照`key`列进行合并。 总结起来,Pandas提供了多种方法来实现数据追加操作,包括`append()`函数、`concat()`函数和`join()`函数。我们可以根据具体的需求选择合适的方法来将新的数据追加到已有的数据集中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值