Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.append方法的使用。

DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=None)                                     [source]

在调用者的末尾追加其他行,返回一个新对象。

不在调用者中的其他列将作为新列添加。

参数:

other DataFrameSeries/类似于dict的对象,

或这些对象的列表

要附加的数据。

ignore_index : boolean, 默认 False

如果为True,则不要使用索引标签。

verify_integrity boolean, 默认 False

如果为True,在创建带有重复项的索引时引发ValueError

sort : boolean, 默认 None

如果selfother的列没有对齐,则对列进行排序。

默认的排序是不赞成的,并且在将来的panda版本中将更改为不排序。

显式传递sort=True以使警告和sort保持静默。

显式传递sort=False以使警告静默,而不是sort

New in version 0.23.0.

返回:

appended : DataFrame

注意

如果传递了dict/series列表,并且所有键都包含在DataFrame的索引中,那么结果DataFrame中的列的顺序将保持不变。

迭代地将行追加到DataFrame可能比单个连接的计算量更大。更好的解决方案是将这些行追加到列表中,然后将列表与原始DataFrame一次性连接起来。

例子

>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))
>>> df
A B
0 1 2
1 3 4
>>> df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'))
>>> df.append(df2)
A B
0 1 2
1 3 4
0 5 6
1 7 8

将ignore_index设置为True

>>> df.append(df2, ignore_index=True)
A B
0 1 2
1 3 4
2 5 6
3 7 8

下面介绍了从多个数据源生成DataFrame的两种方法,但不推荐使用这些方法生成DataFrame。

低效率

>>> df = pd.DataFrame(columns=['A'])
>>> for i in range(5):
... df = df.append({'A': i}, ignore_index=True)
>>> df
A
0 0
1 1
2 2
3 3
4 4

更高效

>>> pd.concat([pd.DataFrame([i], columns=['A']) for i in range(5)],
... ignore_index=True)
A
0 0
1 1
2 2
3 3
4 4