附加的行other到调用方的末尾,返回一个新对象。
列中other不在调用方中的那些将添加为新列。
参数:
other:DataFrame 或 Series/dict-like object, 或 list of these要追加的数据。
ignore_index:bool, 默认为 False如果为True,则不要使用索引标签。
verify_integrity:bool, 默认为 False如果为True,则在创建具有重复项的索引时引发ValueError。
sort:bool, 默认为 False如果列的列self和other不对齐。
0.23.0版中的新功能。
在1.0.0版中进行了更改:更改为默认情况下不排序。
返回值:
DataFrame
注意:
如果传递了字典/ 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