我有数据框(DF1)缺少值,我想从不同的数据框(DF2)中保留那些缺少值,同时保留索引而不对它们进行排序(非常重要).
我试图找到最有效的方法来做到这一点.
DF1:
index id test
3 45 6.9
56 2 NA
1 789 8
29 12 4.7
DF2:
index id test
56 2 2.3
结果:
index id test
3 45 6.9
56 2 2.3
1 789 8
29 12 4.7
我试过这个:
tempResult = pd.merge(DF1, DF2,on=id,how='outer',sort=False).set_index(DF1.index)
tempResult:
index id test_x test_y
3 45 6.9 NA
56 2 NA 2.3
1 789 8 NA
29 12 4.7 NA
然后我需要经历所有的价值观,所以我正在寻找更有效的方法.
有什么建议?
解决方法:
如果“index”实际上是DataFrame.index
,那么你应该只能使用DataFrame.fillna
:
df1.fillna(df2)
如果没有,那么可能需要首先使用set_index
:
df1.set_index('index').fillna(df2.set_index('index'))
[OUT]
id test
index
3 45 6.9
56 2 2.3
1 789 8.0
29 12 4.7
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。