我有一个名为 word_count 的列,其中包含评论中所有字词的计数。如何找到该列每行中出现 awesome 这个词的次数,并使用 .apply()方法将其设置为新列说真棒
products['word_count'][1]
{'and': 3L,'bags': 1L,'came': 1L, 'disappointed.':1L,'does':1L,'early':1L,'highly': 1L,'holder.': 1L, 'awesome': 2L}
我如何获得输出
products['awesome'][1]
2
答案 0 :(得分:0)
我对你的理解是,你有一本名为“产品”的字典,其中包含各种文字的字计数器:
products = {'word_count' : [{'holder.': 2, 'awesome': 1}, {'and': 3,'bags': 1,'came': 1, 'disappointed.':1,'does':1,'early':1,'highly': 1,'holder.': 1, 'awesome': 2}] }
例如,第一个文本包含" holder" 2次,真棒1次。
要添加另一个列,您需要创建一个重要的数组' awesome'每篇文章如下:
counter = []
for i in range(len(products['word_count'])):
counter.append(products['word_count'][i]['awesome'])
然后将行添加到表中:
products['awesome'] = counter
你有它!
答案 1 :(得分:0)
这是python函数counting_words的代码:
def counting_words(x):
if (products['word_count'][x].has_key('awesome')):
return products['word_count'][x]['awesome']
else:
return 0
这是代码的另一部分
new_dict = {}
for x in range(len(products)):
if (x==0):
new_dict['awesome'] = [counting_words(x)]
new_dict['awesome'].append(counting_words(x))
newframe = graphlab.SFrame(new_dict)
products.add_columns(newframe)
我认为您使用的是graphlab,上面的代码适用于'awesome'这个词。创建new_dict是为了在产品['word_count']列的每一行中存储'awesome'的计数。所以在new_dict中它应该是:new_dict = {'awesome':[0,0,1,... 2,1]}。 但是,如果你打算计算其他单词,这种方法会太慢。