如何加入两个 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
怎么做?
使用assign
和append
:
>>> 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
我有两个 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
怎么做?
使用assign
和append
:
>>> 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