擅长:python、mysql、java
<p>将序列转换为分类,提取计数不在前3位的类别,添加新类别,例如<code>'Other'</code>,然后替换先前计算的类别:</p>
<pre><code>df['Jobrol'] = df['Jobrol'].astype('category')
others = df['Jobrol'].value_counts().index[3:]
label = 'Other'
df['Jobrol'] = df['Jobrol'].cat.add_categories([label])
df['Jobrol'] = df['Jobrol'].replace(others, label)
</code></pre>
<p><strong>注意:</strong>通过<code>df['Jobrol'].cat.rename_categories(dict.fromkeys(others, label))</code>重命名来组合类别是很有诱惑力的,但这不起作用,因为这意味着有多个相同标签的类别,这是不可能的。在</p>
<hr/>
<p>上述溶液可根据<em>计数</em>进行过滤。例如,要只包含计数为1的类别,可以将<code>others</code>定义为:</p>
^{pr2}$