基于索引将 Pandas DataFrame 中的行替换为其他 DataFrame

我有 2 个数据帧


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

什么是最优雅的方式来做到这一点?


白衣非少年
浏览 357回答 3
3回答

慕村225694

这是什么update意思:df1.update(df2)>>> df1       B     CA             0  300.0   6.01  400.0   7.02  433.0  99.03  555.0  99.0

扬帆大鱼

注意使用.loc不会改变列的类型df1.loc[df2.index,:]=df2df1Out[20]:      B   CA         0  300   61  400   72  433  993  555  99
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python