![](/img/trans.png)
[英]In Pandas, how can I patch a dataframe with missing values with values from another dataframe given a similar index?
[英]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.