我有以下熊猫数据帧:
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 中的配对值。乙
因此,所需的输出将是:
C D E F G
3 4 3 3 4
4 3
我尝试了左合并并想尝试重塑值,但认为必须有一种更简单/更干净的直接搜索和替换方法。任何帮助非常感谢。
首先创建一个系列映射:
s = df2.set_index('A')['B']
然后将此值应用于每个值:
df1 = df1.applymap(s.get)
试试这个,
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