微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 用基于索引的其他DataFrame替换Pandas DataFrame中的行

我有2个dataFrames

df1
    B   C
A       
0   300 6
1   400 7
2   500 8
3   600 9

df2
    B   C
A       
2   433 99
3   555 99

这就是我构建它们的方式:

df1 = pd.DataFrame({'A': [0, 1, 2, 3],
                   'B': [300, 400, 500, 600], 
                   'C': [6, 7, 8, 9]})
df1.set_index('A', inplace=True)
df2 = pd.DataFrame({'A': [2, 3],
                    'B': [433, 555],
                    'C': [99, 99]})
df2.set_index('A', inplace=True)

我想根据索引将df1中的所有行替换为df2中的行,结果应如下所示:

df_result
    B   C
A       
0   300 6
1   400 7
2   433 99
3   555 99

这样做最优雅的方法是什么?

解决方法:

尝试combine_first:

df2.combine_first(df1)

输出

       B     C
A             
0  300.0   6.0
1  400.0   7.0
2  433.0  99.0
3  555.0  99.0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐