连接两个dataframes
问题描述:
我有一个数据帧,看起来像这样:连接两个dataframes
RIC | base
AAPL| AA
IBM |
AMD |
,并用相同的字段,但不同的价值观另一个表:我想加入这两个表得到这个
RIC | base
AAPL | AA
IBM |
AMD | AM
产生表:
RIC | base
AAPL | AA
IBM |
AMD | AM
我该怎么做?
答
你注意到你期望的结果是一样的你的第二个数据帧?
我认为你的意思是这样的:
考虑两个dataframes 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
我们将使用和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
这种方法与所采用的值第一个数据帧存在时。否则,它将从第二个数据帧获取值。
答
尝试:pd.concat([DF1,DF2]轴= 1)
谢谢!我不知道combine_first。这解决了我的问题。 –