我有以下熊猫数据框:
df1:
C D E F G
111 222 333 444 555
666 777
df2:
A B
111 3
222 4
333 3
444 3
555 4
100 3
666 4
200 3
777 3
我需要在df2中查找以从df1.A中找到匹配的值,然后将df1中的值替换为df2.B中的配对值
因此所需的输出将是:
C D E F G
3 4 3 3 4
4 3
我尝试了左合并,并试图尝试重塑整个值,但认为必须有一个更简单/更直接的直接搜索和替换方法。任何帮助表示赞赏。
答案 0 :(得分:2)
首先创建系列映射:
s = df2.set_index('A')['B']
然后将其应用于每个值:
df1 = df1.applymap(s.get)
答案 1 :(得分:1)
尝试一下
temp=df2.set_index('A')['B']
print df1.replace(temp)
输出:
C D E F G
0 3 4 3.0 3.0 4.0
1 4 3 NaN NaN NaN