我有一个如下所示的数据框:
RIC | base
AAPL| AA
IBM |
AMD |
和另一个具有相同字段但值不同的表:
RIC | base
AAPL | AA
IBM |
AMD | AM
我想加入这两个表来获得这个结果表:
RIC | base
AAPL | AA
IBM |
AMD | AM
我该怎么做?
答案 0 :(得分:2)
您是否注意到您想要的结果与第二个数据帧相同?
我认为你的意思是这样的:
考虑两个数据框d1
和d2
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
我们将使用set_index
和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
此方法从第一个数据帧中获取值。否则,它将从第二个数据帧中获取值。
答案 1 :(得分:1)
你试试:pd.concat([df1,df2],axis = 1)