【问题标题】:Update pandas dataframe based on matching columns of a second dataframe根据第二个数据帧的匹配列更新熊猫数据帧
【发布时间】:2018-04-28 21:44:24
【问题描述】:

我有两个具有相同列的 pandas 数据帧(df_1df_2),但在一个数据帧(df_1)中有一些值为 1列丢失。所以我想从 df_2 中填充那些缺失的值,但前提是两列的值匹配。

这是我的数据的一个小例子:

df_1:

df_2:

我尝试添加缺失值:

df_1.update(df_2, overwrite=False)

但问题是,即使只有一列匹配,它也会填充值。我想在“housenumber”和“street”列匹配时填写值。

【问题讨论】:

    标签: python pandas dataframe nan data-science


    【解决方案1】:

    我认为在DataFrames 和combine_firstfillna 中都需要set_indexMultiindex

    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()
    

    【讨论】:

    • 谢谢!解决了我的问题,正是我需要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    相关资源
    最近更新 更多