擅长:python、mysql、java
<p>根据您的逻辑,似乎您希望将<code>Col4</code>中的0,3值映射到<code>Col5</code>中的“Distinct”,将1,2值映射到“Match”。您只想更新<code>NaN</code>中的<code>Col5</code>值。你知道吗</p>
<p>尝试:</p>
<pre class="lang-py prettyprint-override"><code>df = pd.DataFrame({'Col4': [0,1,2,3,0,1,2,3],
'Col5': ["Distinct", "Match", "Match", "Distinct", np.nan, np.nan, np.nan, np.nan]})
mapper = {
0: "**Distinct**",
1: "**Match**",
2: "**Match**",
3: "**Distinct**"
}
df.loc[df.Col5.isna(), 'Col5'] = df[df.Col5.isna()]['Col4'].map(mapper)
</code></pre>
<p>您现在可以得到:</p>
<pre><code> Col4 Col5
0 0 Distinct
1 1 Match
2 2 Match
3 3 Distinct
4 0 **Distinct**
5 1 **Match**
6 2 **Match**
7 3 **Distinct**
</code></pre>
<p>如果您改变了对逻辑或替换值的想法,那么以后很容易更改映射。你知道吗</p>