我正在分析包含用户评论评论的大数据文件,我被要求将每行转换为字典作为关键字(单词)和值(该行/评论评论中的字数),分析单词的用法。
使用下面的代码,我能够分割数据,但无法将其转换为字典。
import csv
import pandas as pd
products = pd.read_csv('product_comments.csv')
products['words_count'] = csv.DictReader(products['review'].str.lower().str.split())
请帮我解决这个问题。
答案 0 :(得分:0)
您可以apply
Counter
到reviews
列,获取dictionary
字频。
基于unix
单词列表的随机抽样示例:
word_file = "/usr/share/dict/words"
words = open(word_file).read().splitlines()[10:50]
random_word_list = [[' '.join(np.random.choice(words, size=100, replace=True))] for i in range(50)]
df.head()
reviews
0 abaculus abacinate abalienate abaff abalone ab...
1 abalienation abacus abaction abacination abaca...
2 Ababdeh abalienate abaiser abaff abaca abactin...
3 abaction Aaru abandonee abalienate Aaronic aba...
4 abandon abampere abactor abactor abandon abacu...
拆分空格并使用内置DataFrame.apply()
的{{1}}:
collections.Counter
你得到:
from collections import Counter
df.reviews.str.split(' ').apply(lambda x: Counter(x))