如何加入两个 table 并添加 id table?

How to join two tables with adding id of table?

我有两个 table:

name   value
a1      45
a2      77
b1      99
name   value
e1      11
f5      99
z9      99

我想加入他们并添加新的列 ID,显示 table 行是:

name   value   id 
a1      45     old
a2      77     old
b1      99     old
e1      11     new
f5      99     new
z9      99     new

怎么做?

使用assignappend:

>>> df1.assign(id="old").append(df2.assign(id="new")).reset_index(drop=True)
  name  value   id
0   a1     45  old
1   a2     77  old
2   b1     99  old
3   e1     11  new
4   f5     99  new
5   z9     99  new

另一个解决方案,使用pd.concat

df = (
    pd.concat([df1, df2], keys=["old", "new"], names=["id"])
    .droplevel(1)
    .reset_index()
)
print(df)

打印:

    id name  value
0  old   a1     45
1  old   a2     77
2  old   b1     99
3  new   e1     11
4  new   f5     99
5  new   z9     99