擅长:python、mysql、java
<p>除了@Joran的解决方案之外,还可以对大量文本/行使用<code>series.value_counts</code></p>
<pre><code> pd.Series(' '.join(df['text']).lower().split()).value_counts()[:100]
</code></pre>
<p>从基准测试中可以发现,<code>series.value_counts</code>似乎比<code>Counter</code>方法快两倍(2倍)</p>
<p><em>电影评论数据集有3000行,总计40万个字符和7万个单词。</em></p>
<pre><code>In [448]: %timeit Counter(" ".join(df.text).lower().split()).most_common(100)
10 loops, best of 3: 44.2 ms per loop
In [449]: %timeit pd.Series(' '.join(df.text).lower().split()).value_counts()[:100]
10 loops, best of 3: 27.1 ms per loop
</code></pre>