我有两个具有相同列的pandas数据框( df_1 , df_2 ),但在一个数据框( df_1 )中有一些值为1列缺失。所以我想填写 df_2 中缺少的值,但仅限于两列的值匹配时。
以下是我的数据的一个小例子:
我尝试用以下内容添加缺失值:
df_1.update(df_2, overwrite=False)
但问题是,它会填充值,即使只有一列匹配。我希望在列#34; housenumber"时填写值。 AND" street"匹配。
答案 0 :(得分:2)
我认为Multiindex
和set_index
或combine_first
中DataFrame
需要fillna
:
df1 = df_1.set_index(["housenumber", "street"])
df2 = df_2.set_index(["housenumber", "street"])
df = df1.combine_first(df2).reset_index()
df = df1.fillna(df2).reset_index()