我希望数据结构具有{(Document_name,term):(term count in Document)}所以我创建了一个名为dtuple的字典:
Doc_term = namedtuple("Doc_term", ["Doc", "term"])
Doc_term_count = {}
...
Doc_term_count[k] = {Doc_term(Doc_names[start_index + i], vocab[j]): row[j]}
k = k + 1
print Doc_term_count
它给我的数据结构是
^{pr2}$我想搜索有多少个给定的术语具有类似的筛选/搜索功能:
Dtn = filter( lambda ndoc: Doc_term.term=='be', Doc_term_count)
print Dtn
它给了我空数组。请告诉我我哪里出错了。根据我的理解,我正在创建索引数组和过滤器lambda函数需要列表,但当我尝试
Doc_term_count[(booknames[start_index + i], vocab[j])].append(row[j])
它给我的错误是:KeyError:('book1.txt','be')。我认为它不接受元组作为键。在
我相信您生成的
Doc_term_count
不正确-您只需要将namedtuple映射到count。在不深入了解如何计算Doc_名称和行索引的情况下,我想您要做的是:而不是
^{pr2}$第一种方法应生成如下所示的字典:
然后可以使用元组查找值:
相关问题 更多 >
编程相关推荐