TL; DR
nltk.FreqDist
принимает список строк в качестве входных данных.Вы кормились в серии Панд.
>>> import pandas as pd
>>> from nltk import word_tokenize
>>> from nltk import FreqDist
>>> df = pd.read_csv('x')
>>> df['Description']
0 Here is a sentence.
1 This is a foo bar sentence.
Name: Description, dtype: object
>>> df['Description'].map(word_tokenize)
0 [Here, is, a, sentence, .]
1 [This, is, a, foo, bar, sentence, .]
Name: Description, dtype: object
>>> sum(df['Description'].map(word_tokenize), [])
['Here', 'is', 'a', 'sentence', '.', 'This', 'is', 'a', 'foo', 'bar', 'sentence', '.']
>>> FreqDist(sum(df['Description'].map(word_tokenize), []))
FreqDist({'a': 2, 'sentence': 2, '.': 2, 'is': 2, 'This': 1, 'foo': 1, 'bar': 1, 'Here': 1})
>>> type(df['Description'].map(word_tokenize))
<class 'pandas.core.series.Series'>
>>> type(sum(df['Description'].map(word_tokenize), []))
<class 'list'>