我有2个数据框(DataFrame)。
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)
我想根据索引用来自df2
的行替换df1
中的所有行,结果应如下所示:
df_result
B C
A
0 300 6
1 400 7
2 433 99
3 555 99
怎样做最优雅?
df1.combine_first(df2)
更好。 - Juhodf1.combine_first(df2)
更好。要使用两个索引的并集更新非空值,需要另一种解决方案。 - Juho