<p>我想这就是你想要做的:</p>
<pre><code>df1
# index some_variable identifier1 identifier2
# 0 1 x AB2 AB3
# 1 2 x BB2 BB3
# 2 3 x CB2 CB3
# 3 4 y DB2 DB3
# 4 5 y EB2 EB3
df2
# index some_variable identifier1 identifier2 identifier3
# 0 1 x AB5 AB3 AB3
# 1 2 x BB5 BB2 AB2
# 2 3 x CB5 CB2 AB5
# 3 4 y DB5 DB3 AB3
# 4 5 y EB5 EB3 AB3
idx = df1['identifier1'].isin(df2['identifier2']) & (df1['some_variable'] == 'x')
df1.loc[idx, 'identifier2'] = df2['identifier3']
df1
# index some_variable identifier1 identifier2
# 0 1 x AB2 AB3
# 1 2 x BB2 AB2
# 2 3 x CB2 AB5
# 3 4 y DB2 DB3
# 4 5 y EB2 EB3
</code></pre>