擅长:python、mysql、java
<p>建议:首先不要做所有疯狂的事情来转换数据帧。创建映射,然后应用它:</p>
<pre><code>orig = pd.unique(df[cols].values.flatten())
code_map = dict(zip(orig, np.arange(orig.size)))
df[cols] = df[cols].applymap(code_map.__getitem__)
code_map # returns {'a': 0, 'b': 1, 'c': 2, 'd': 3}
df # returns
A P1 P2
2 3 a b
2 4 b c
3 5 c d
3 6 a c
</code></pre>