擅长:python、mysql、java
<p>我们可以同时使用<code>pd.factorize</code>。在</p>
<pre><code>pd.DataFrame(
pd.factorize(a.values.ravel())[0].reshape(a.shape),
a.index, a.columns
)
A B
0 0 1
1 0 1
2 2 1
3 0 2
4 2 2
</code></pre>
<hr/>
<p>或者,如果要按排序的类别值进行因式分解,请使用<code>sort=True</code>参数</p>
^{pr2}$
<hr/>
<p>或等同于<code>np.unique</code></p>
<pre><code>pd.DataFrame(
np.unique(a.values.ravel(), return_inverse=True)[1].reshape(a.shape),
a.index, a.columns
)
A B
0 1 2
1 1 2
2 0 2
3 1 0
4 0 0
</code></pre>