pandas 将一个数据框中的行替换为另一个数据框中的行

zbwhf8kr  于 2023-04-04  发布在  其他
关注(0)|答案(2)|浏览(228)

我有一个 Dataframe ,看起来像这样:

df1 =

name    code     country     type
---------------------------------
 ben     100          de        l
 mic     200          nl        s
 dan     NaN         NaN      NaN
 bro     NaN         NaN      NaN

然后我有另一个 Dataframe ,看起来像:

df2 =

name    code     country     type
---------------------------------
 dan     400          be        l
 bro     500          cz        m

因此,在这个例子中,df1有一些缺失值的行,或者在某些情况下是错误的值。然而,幸运的是,我有另一个 Dataframe df2,它有正确的值。
所以基本上,我想做的是基于name列将行从df2移动到df1,即结果 Dataframe 应该如下所示:

df_final = 

name    code     country     type
---------------------------------
 ben     100          de        l
 mic     200          nl        s
 dan     400          be        l
 bro     500          cz        m
332nm8kg

332nm8kg1#

使用pandas.DataFrame.updateoverwrite=False(仅更新原始DataFrame中的NA值):

df1.update(df2, overwrite=False)
nnsrf1az

nnsrf1az2#

您可以只连接两个数据集。

df = pd.concat([df1, df2], axis=0)

这基本上会将你的数据集“堆叠”在彼此的顶部。然后你可以删除所有的空值和重复值。

df = df.dropna().drop_duplicates()

相关问题