擅长:python、mysql、java
<p><strong>选项1</strong><br/>
<code>pd.factorize</code></p>
<pre><code>df['topic_id'] = pd.factorize(df.topic)[0]
df
value topic topic_id
0 137 earn 0
1 158 earn 0
2 144 ship 1
3 111 trade 2
4 132 trade 2
</code></pre>
<hr/>
<p><strong>选项2</strong><br/>
<code>np.unique</code></p>
^{pr2}$
<hr/>
<p><strong>选项3</strong><br/>
<code>pd.Categorical</code></p>
<pre><code>df['topic_id'] = pd.Categorical(df.topic).codes
df
value topic topic_id
0 137 earn 0
1 158 earn 0
2 144 ship 1
3 111 trade 2
4 132 trade 2
</code></pre>
<hr/>
<p><strong>选项4</strong><br/>
<code>dfGroupBy.ngroup</code></p>
<pre><code>df['topic_id'] = df.groupby('topic').ngroup()
df
value topic topic_id
0 137 earn 0
1 158 earn 0
2 144 ship 1
3 111 trade 2
4 132 trade 2
</code></pre>