在公共索引上合并两个DataFrames basend

时间:2018-02-02 15:07:40

标签: python pandas dataframe

我想基于它们的公共索引合并两个DataFrame。 应将DataFrame B中的所有新索引条目添加到结果中。 如果两个数据帧都具有相同索引的条目,则结果应仅包含DataFrame B中的值。

DataFrame A         DataFrame B
-----------         ------------   
Index  col1         Index   col1
1      1A           1       1B
2      2A           3       3B

Result
------------                   
Index   col1 
1       1B   # Overridden from DataFrame B
2       2A   # From DataSet A
3       3B   # Added from B since it not exists in A

我已经尝试了以下内容。但它导致两列,我想在我的结果中只有一列:

df1 = pd.DataFrame(index= [1, 2],
              data = ['1A', '2A'],
              columns=['col1'])

df2 = pd.DataFrame(index= [1, 3],
               data=['1B', '3B'],
               columns=['col1'])

df3 = pd.merge(df1, df2, how='outer', left_index=True, right_index=True)

1 个答案:

答案 0 :(得分:1)

使用return + update

combine_first