合并两个数据帧并保留第一个df的额外行



我有两个数据帧df1和df2

df1

A  B 
id0     a  3      
id1     b  4      
id2     c  0 

df2

A   B 
id2   aa  80      
id3   d   44      
id4   r   100 

我想连接concat df1和df2,这样df1的所有行都被保留,如果df2中有相同索引的行(id2;在本例中);它从df2中掉落

最终的df看起来应该像

A  B 
id0     a  3      
id1     b  4      
id2     c  0
id3     d   44      
id4     r   100

如何在pandas python中完成?

您可以使用combine_first,它是专门为此操作设计的:

df1.combine_first(df2)

输出:

A    B
id0  a    3
id1  b    4
id2  c    0
id3  d   44
id4  r  100

使用concat与过滤器首先复制Index.duplicated:

df = pd.concat([df1, df2])
df = df[~df.index.duplicated()]
print (df)
A    B
id0  a    3
id1  b    4
id2  c    0
id3  d   44
id4  r  100

相关内容

  • 没有找到相关文章

最新更新