Along with @Joran's solution, you can also use series.value_counts for large volumes of text / lines
pd.Series(' '.join(df['text']).lower().split()).value_counts()[:100]
You can find from the tests series.value_counts twice (2 times) faster than the Counter method
For a Movie Reviews dataset, 3,000 lines, just 400K characters and 70k words.
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
Zero
source share