繁体   English   中英

如何用另一个数据框中的值替换一个数据框中的缺失值?

[英]How can I replace missing values in a dataframe with values from another dataframe?

我有两个不同形状的数据框。 我想从df2中存在的数据中填充df1中的缺失数据。

如何在保持df1的原始形状和列的同时合并这两个数据集?

我尝试使用pd.merge,但我认为语法不正确。 我已经在数据框中创建了新列,但是我无法仅将数据添加到NaN值中。

我也尝试过先使用Combine,但是我也不认为我做得对。

df1 = pd.DataFrame({'a': ["dogs","cats","birds","turtles"], 'b': [1,5,"NA",10]})
print(df1)

df2 = pd.DataFrame({'a': ["birds"],'b': [6]})
print(df2)

df_Final = pd.DataFrame({'a': ["dogs","cats","birds","turtles"], 'b': [1,5,6,10]})
print(df_Final)

我希望输出是此处所示的df_Final数据帧,其中的“ birds”值填充有df2。

加油

这个怎么样 ?

df1['b'] = df1['b'].where(df1['b']!=('NA'), df1['a'].map(df2.set_index('a')['b']))

Out[166]: 
         a   b
0     dogs   1
1     cats   5
2    birds   6
3  turtles  10

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM