我试图用另一个数据帧列中的值替换一个数据帧列中的一些值。下面是数据帧的样子。df2有很多行和列。在df1
0 1029
0 aaaaa Green
1 bbbbb Green
2 fffff Blue
3 xxxxx Blue
4 zzzzz Green
df2
0 1 2 3 .... 1029
0 aaaaa 1 NaN 14 NaN
1 bbbbb 1 NaN 14 NaN
2 ccccc 1 NaN 14 Blue
3 ddddd 1 NaN 14 Blue
...
25 yyyyy 1 NaN 14 Blue
26 zzzzz 1 NaN 14 Blue
最后的测向应该是这样的
^{pr2}$
所以基本上需要做的是df1[0]和{}需要匹配,然后{}需要将匹配行的值替换为{}中相应的行。我不想丢失df2['1029']中不在df1['1029']中的任何值
我相信python中的re模块可以做到这一点?到目前为止,我得到的是:import re
for line in replace:
line = re.sub(df1['1029'],
'1029',
line.rstrip())
print(line)
但肯定不行。在
我也可以在merged1 = df1.merge(df2, left_index=True, right_index=True, how='inner')中使用merge,但这不能替换内联的值。在