一、DataFrame.append()的介绍
DataFrame是pandas库中最常用的数据类型,用于处理表格数据。append()是DataFrame对象的一个函数,能够将另一个DataFrame对象中的行追加到当前的DataFrame对象中,返回一个新的DataFrame对象。可以将append()函数看作是对DataFrame对象进行行操作的一种方法。
二、DataFrame.append()函数的语法和参数
该函数的语法和参数如下:
DataFrame.append(self, other, ignore_index=False, verify_integrity=False, sort=False)
- self:当前的DataFrame对象
- other:要追加到当前DataFrame对象的另一个DataFrame对象或Series对象
- ignore_index:如果为True,则不使用当前DataFrame对象的索引;如果,为False则索引会被传递下去
- verify_integrity:如果为True,则检查列是否重复,可能会延迟行的追加(注:默认值为False)
- sort:如果为True,则对列数进行排序。默认值为False
三、DataFrame.append()函数的用法
1、将两个DataFrame对象进行合并
使用append()函数可以方便地将两个DataFrame对象进行合并。 以下代码演示如何将两个DataFrame对象进行合并:
#导入pandas库
import pandas as pd
#创建第一个DataFrame对象
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2']})
#创建第二个DataFrame对象
df2 = pd.DataFrame({'A': ['A3', 'A4', 'A5'],
'B': ['B3', 'B4', 'B5'],
'C': ['C3', 'C4', 'C5']})
#将df2追加到df1中
df = df1.append(df2)
#打印结果
print(df)
输出结果如下所示:
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
0 A3 B3 C3
1 A4 B4 C4
2 A5 B5 C5
2、将Series对象追加到DataFrame对象中
还可以使用append()函数将Series对象追加到DataFrame对象中。以下是具体实现方式:
#导入pandas库
import pandas as pd
#创建DataFrame对象
df = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2']})
#创建Series对象
s = pd.Series(['A3', 'B3', 'C3'], index=['A', 'B', 'C'])
#将Series对象追加到DataFrame对象中
df = df.append(s, ignore_index=True)
#打印结果
print(df)
输出结果如下所示:
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3
3、保留重建索引后的列名
当在合并两个DataFrame对象时,如果索引列的名称不一致,就会生成一个新的列。如果想在保留新列同时,将它的名称设置与原来的相同,就可以使用rename函数。下面我们通过示例来进行演示:
#导入pandas库
import pandas as pd
#创建DataFrame对象
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2']}, index=['i0', 'i1', 'i2'])
df2 = pd.DataFrame({'C': ['D0', 'D1', 'D2'],
'D': ['E0', 'E1', 'E2'],
'E': ['F0', 'F1', 'F2']}, index=['i1', 'i2', 'i3'])
#使用ignore_index参数,将两个DataFrame对象进行合并。同时问保留新列。
df = df1.append(df2, ignore_index=False, sort=False).rename_axis('data').reset_index()
#打印结果
print(df)
输出结果如下所示:
data A B C D E
0 i0 A0 B0 C0 NaN NaN
1 i1 A1 B1 C1 E0 F0
2 i2 A2 B2 C2 E1 F1
3 i1 NaN NaN D0 E0 F0
4 i2 NaN NaN D1 E1 F1
5 i3 NaN NaN D2 E2 F2
4、对DataFrame对象进行追加后,重新生成索引
使用DataFrame.append()函数,可以输入ignore_index=True参数对数据进行重建索引,以下代码演示如何对追加后的DataFrame对象进行重建索引操作:
#导入pandas库
import pandas as pd
#创建DataFrame对象
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2']}, index=['i0', 'i1', 'i2'])
df2 = pd.DataFrame({'C': ['D0', 'D1', 'D2'],
'D': ['E0', 'E1', 'E2'],
'E': ['F0', 'F1', 'F2']}, index=['i2', 'i3', 'i4'])
#当ignore_index=True时,对DataFrame对象进行重建索引
df = df1.append(df2, ignore_index=True, sort=False)
#打印结果
print(df)
输出结果如下所示:
A B C D E
0 A0 B0 C0 NaN NaN
1 A1 B1 C1 NaN NaN
2 A2 B2 C2 NaN NaN
3 NaN NaN D0 E0 F0
4 NaN NaN D1 E1 F1
5 NaN NaN D2 E2 F2
总结:
DataFrame.append()函数对于合并两个或多个DataFrame对象十分方便,能够简单地将一个DataFrame对象中另一个DataFrame对象的行添加到后面,经过重建索引和排序,能以更清晰的方式将一个新DataFrame追加到另一个DataFrame对象中,并生成一个新的DataFrame对象。这使得用户可以快速地以各种方式创建复杂数据结构,而不必费尽周折地定义各个元素,或编写复杂的代码。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/241894.html