我有两个不同形状的数据框。我想从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。
答案 0 :(得分:0)
加油站
这个怎么样?
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