我想合并这些数据框:
df_a = pd.DataFrame(data={
'Nombre': [Elisa Perez],
'Fecha': [2/04/2019],
'Sexo': [np.nan],
'Nacionalidad': [np.nan],
'Ciudad': [Roma]})
df_b = pd.DataFrame(data={
'Nombre': [Elisa Perez],
'Fecha': [2/04/2019],
'Sexo': [mujer],
'Nacionalidad': [Italiana],
'Ciudad': [Roma]})
并且我希望自动获得此结果,而不必在代码中写入每列名称:
Nombre Fecha Sexo Nacionalidad Ciudad
0 Elisa Perez 2/04/2019 mujer Italiana Roma
谢谢!
答案 0 :(得分:3)
使用DataFrame.combine_first
和DataFrame.set_index
进行匹配的列:
df = (df_b.set_index(['Nombre','Fecha'])
.combine_first(df_a.set_index(['Nombre','Fecha']))
.reset_index())