擅长:python、mysql、java
<p>如果哪个名字得到哪个号码并不重要,你也可以考虑</p>
<pre><code>df.join(df.stack().astype('category').cat.codes.unstack()
.rename(columns=lambda c: c.replace('Name', 'ID')))
</code></pre>
<p>产生</p>
<pre><code> Name1 Name2 ID1 ID2
0 John Jack 3 2
1 John Albert 3 0
2 Jack Eva 2 1
3 Albert Sara 0 4
4 Eva Sara 1 4
</code></pre>