在 Python 中跨数据帧搜索和替换匹配值



我有以下熊猫数据帧:

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

最新更新