连接两个dataframes

问题描述:

我有一个数据帧,看起来像这样:连接两个dataframes

RIC | base 
AAPL| AA 
IBM | 
AMD | 

,并用相同的字段,但不同的价值观另一个表:我想加入这两个表得到这个

RIC | base 
AAPL | AA 
IBM | 
AMD | AM 

产生表:

RIC | base 
AAPL | AA 
IBM | 
AMD | AM 

我该怎么做?

你注意到你期望的结果是一样的你的第二个数据帧?

我认为你的意思是这样的:

考虑两个dataframes d1d2

d1 = pd.DataFrame(dict(RIC=['AAPL', 'IBM', 'AMD'], base=['AA', None, None])) 
d2 = pd.DataFrame(dict(RIC=['AAPL', 'IBM', 'AMD'], base=['aa', 'IB', 'AM'])) 

print(d1) 
print() 
print(d2) 

    RIC base 
0 AAPL AA 
1 IBM None 
2 AMD None 

    RIC base 
0 AAPL aa 
1 IBM IB 
2 AMD AM 

我们将使用​​和combine_first

d1.set_index('RIC').combine_first(d2.set_index('RIC')).reset_index() 

    RIC base 
0 AAPL AA 
1 IBM IB 
2 AMD AM 

这种方法与所采用的值第一个数据帧存在时。否则,它将从第二个数据帧获取值。

+0

谢谢!我不知道combine_first。这解决了我的问题。 –

尝试:pd.concat([DF1,DF2]轴= 1)