我有一个包含产品列表的数据框及其各自的评论
+ --------- + ------------------------------------ ------------ +
|产品|审查|
+ --------- + --------------------------------------- --------- +
| 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)
答案 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