Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于第二个数据帧的匹配列更新数据帧_Python_Pandas_Dataframe_Nan_Data Science - Fatal编程技术网

Python 基于第二个数据帧的匹配列更新数据帧

Python 基于第二个数据帧的匹配列更新数据帧,python,pandas,dataframe,nan,data-science,Python,Pandas,Dataframe,Nan,Data Science,我有两个数据帧(df_1,df_2)具有相同的列,但在一个数据帧(df_1)中缺少一列的某些值。因此,我想填充df_2中缺少的值,但仅当两列的值匹配时 以下是我的数据的一个小示例: df_1: df_2: 我尝试使用以下方法添加缺少的值: df_1.update(df_2, overwrite=False) 但问题是,即使只有一列匹配,它也会填充值。我想在“housenumber”列和“street”列匹配时填充值。我想您需要在数据框中同时使用多索引,然后选择或: 非常感谢。解决了我的问题,

我有两个数据帧(df_1df_2)具有相同的列,但在一个数据帧(df_1)中缺少一列的某些值。因此,我想填充df_2中缺少的值,但仅当两列的值匹配时

以下是我的数据的一个小示例:

df_1:

df_2:

我尝试使用以下方法添加缺少的值:

df_1.update(df_2, overwrite=False)
但问题是,即使只有一列匹配,它也会填充值。我想在“housenumber”列和“street”列匹配时填充值。

我想您需要在
数据框
中同时使用
多索引
,然后选择或:



非常感谢。解决了我的问题,正是我需要的
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()