我有两个DataFrame,其中一个公共列作为键,我想执行VLOOKUP类操作,从第一个DataFrame中获取与第二个DataFrame中的键对应的值。
DataFrame 1
key value
0 aaa 111
1 bbb 222
2 ccc 333
DataFrame 2
key value
0 bbb None
1 ccc 333
2 aaa None
3 aaa 111
Desired Output
key value
0 bbb 222
1 ccc 333
2 aaa 111
3 aaa 111
我不想使用merge
,因为我的两个DF的键列可能都有NULL
值,而且由于panda merge的行为与sql join不同,所有这样的行可能会彼此连接。
我试过下面的方法
DF2['value'] = np.where(DF2['key'].isnull(), DF1.loc[DF2['key'].equals(DF1['key'])]['value'], DF2['value'])
但是一直得到KeyError: False
错误。
1条答案
按热度按时间toe950271#
您可以用途: