设置
我有一个df1
,
A B name
0 ABC DEF test1
1 UVW XYZ test2
和一个df2
C name
0 1 test1
和一个df3
C D name
0 1 1 test2
df12 = pd.merge(df1, df2, on=['name'])
给出的
A B name C
0 ABC DEF test1 1
和df13 = pd.merge(df1, df3, on=['name'])
给出
A B name C D
0 UVW XYZ test2 1 1
问题
随后我如何 首先将df2
和之后的df3
添加到df1
,以便获得一个看起来像这样的df123
>
A B name C D
0 ABC DEF test1 1 NaN
1 UVW XYZ test2 1 1
我需要能够循环构造df123
。
答案 0 :(得分:1)
使用append
和merge
:
df = df1.merge(df2.append(df3, sort=False),on='name')
print(df)
A B name C D
0 ABC DEF test1 1 NaN
1 UVW XYZ test2 1 1.0
答案 1 :(得分:1)
将set_index()
与df1=df1.set_index('name')
df1.combine_first(df2.set_index('name')).combine_first(df3.set_index('name'))
Out[144]:
A B C D
name
test1 ABC DEF 1.0 NaN
test2 UVW XYZ 1.0 1.0
一起使用
findviewById()