我正在尝试基于公共列合并多个DataFrame.这将在循环中完成,原始DataFrame可能没有所有列,因此需要外部合并.但是,当我在几个不同的DataFrames列上执行此操作时,使用后缀_x和_y复制.我正在寻找一个填充数据的DataFrame,并且只有在以前不存在的情况下才添加列.
df1=pd.DataFrame({'Company Name':['A','B','C','D'],'Data1':[1,34,23,66],'Data2':[13,54,5354,443]})
Company Name Data1 Data2
0 A 1 13
1 B 34 54
2 C 23 5354
3 D 66 443
Run Code Online (Sandbox Code Playgroud)
第二个DataFrame,包含一些公司的附加信息:
pd.DataFrame({'Company Name':['A','B'],'Address': ['str1', 'str2'], 'Phone': ['str1a', 'str2a']})
Company Name Address Phone
0 A str1 str1a
1 B str2 str2a
Run Code Online (Sandbox Code Playgroud)
如果我想组合这两个,它将使用on = Column成功合并为一个:
df1=pd.merge(df1,df2, on='Company Name', how='outer')
Company Name Data1 Data2 Address Phone
0 A 1 13 str1 str1a
1 B 34 54 str2 str2a
2 C 23 5354 NaN NaN
3 D 66 443 NaN NaN …Run Code Online (Sandbox Code Playgroud)