将CSV行转换为字典

时间:2016-01-10 19:23:59

标签: python csv pandas

我正在分析包含用户评论评论的大数据文件,我被要求将每行转换为字典作为关键字(单词)和值(该行/评论评论中的字数),分析单词的用法。

使用下面的代码,我能够分割数据,但无法将其转换为字典。

import csv
import pandas as pd

products = pd.read_csv('product_comments.csv')
products['words_count'] = csv.DictReader(products['review'].str.lower().str.split())

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您可以apply Counterreviews列,获取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))