append - 数据添加

在很多教程,包括 pandas 官方文档中,都将 append 结合 merge、concat、join 一起讲解

但是对我来说,虽然append得到的结果也类似合并,可它常常出现的地方就是它的字面意思 -> 添加(追加),下面是几个 append 的常用操作。

在线刷题

检查 or 强化 Pandas 数据分析操作?👉在线体验「Pandas进阶修炼300题」

Note

本页面代码可以在线编辑、执行

末尾追加

将 s2 添加至 df8 的末尾

import pandas as pd
df8 = pd.DataFrame(
    {
        "A": ["A0", "A1", "A2", "A3"],
        "B": ["B0", "B1", "B2", "B3"],
        "C": ["C0", "C1", "C2", "C3"],
        "D": ["D0", "D1", "D2", "D3"],
    },
    index=[0, 1, 2, 3],
)

s2 = pd.Series(["X0", "X1", "X2", "X3"], index=["A", "B", "C", "D"])
s3 = pd.DataFrame({"A": ['s1'],"B": ['s2'],"C": ['s3'],"D": ['s4']})
dicts = [{"A": 1, "B": 2, "C": 3, "X": 4}, {"A": 5, "B": 6, "C": 7, "Y": 8}]
result = df8.append(s2, ignore_index=True)
result
A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
4 X0 X1 X2 X3

指定位置追加

将 s3 添加至 df8 的第三行

df9 = df8.iloc[:2, :]
df10 = df8.iloc[2:, :]

pd.concat([df9, s3, df10])
A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
0 s1 s2 s3 s4
2 A2 B2 C2 D2
3 A3 B3 C3 D3

添加字典

将下面的字典 dicts 插入添加至 df8,并保留索引,如下图所示

result = df8.append(dicts, ignore_index=True, sort=False)
result
A B C D X Y
0 A0 B0 C0 D0 NaN NaN
1 A1 B1 C1 D1 NaN NaN
2 A2 B2 C2 D2 NaN NaN
3 A3 B3 C3 D3 NaN NaN
4 1 2 3 NaN 4.0 NaN
5 5 6 7 NaN NaN 8.0
On this page