擅长:python、mysql、java
<p>据我所知,您希望为数据帧中两列的每个唯一组合分配一个值</p>
<p>如果数据帧中没有所有的组合,您可以使用这种方法创建带有代码的dict,或者使用itertools生成dict</p>
<pre class="lang-py prettyprint-override"><code>combs = set(zip(df['winner'], df['newcol2']))
codes = dict(zip(combs, range(len(combs))))
</code></pre>
<p>使用“应用”方法将两列中的组合替换为编码值:</p>
<pre class="lang-py prettyprint-override"><code>df['result'] = df.apply(lambda x: codes[x['winner'], x['newcol2']], axis=1)
</code></pre>