DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=None) [source]
在调用者的末尾追加其他行,返回一个新对象。
不在调用者中的其他列将作为新列添加。
参数: | other : 或这些对象的列表 要附加的数据。 ignore_index : 如果为 verify_integrity : 如果为 sort : 如果 默认的排序是不赞成的,并且在将来的panda版本中将更改为不排序。 显式传递 显式传递 New in version 0.23.0. |
返回: | appended : |
注意:
如果传递了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