如何获取数据框中的所有独特单词?

时间:2016-07-24 22:51:00

标签: python pandas dataframe count

我有一个包含产品列表的数据框及其各自的评论

+ --------- + ------------------------------------ ------------ +
|产品|审查|
+ --------- + --------------------------------------- --------- +
| product_a |这对休闲午餐有好处 + --------- + --------------------------------------- --------- +
| product_b |艾弗里是最知识渊博的咖啡师之一 + --------- + --------------------------------------- --------- +
| product_c |导游告诉我们秘密|
+ --------- + --------------------------------------- --------- +

如何获取数据框中的所有独特单词?

我做了一个功能:

def count_words(text):
    try:
        text = text.lower()
        words = text.split()
        count_words = Counter(words)
    except Exception, AttributeError:
        count_words = {'':0}
    return count_words

并将该函数应用于DataFrame,但这只能为每行提供单词计数。

reviews['words_count'] = reviews['review'].apply(count_words)

1 个答案:

答案 0 :(得分:6)

从这开始:

dfx
               review
0      United Kingdom
1  The United Kingdom
2     Dublin, Ireland
3    Mardan, Pakistan

获取"评论"中的所有单词柱:

 list(dfx['review'].str.split(' ', expand=True).stack().unique())

   ['United', 'Kingdom', 'The', 'Dublin,', 'Ireland', 'Mardan,', 'Pakistan']

获得"评论"柱:

dfx['review'].str.split(' ', expand=True).stack().value_counts()


United      2
Kingdom     2
Mardan,     1
The         1
Ireland     1
Dublin,     1
Pakistan    1
dtype: int64    ​