私は辞書のリストを持っており、リスト内の項目の頻度を見つけたいと思います。私は単にcollections.Counter()
を使用しますが、というエラーがスローされます。辞書のリストで項目の頻度を見つけよう
unhashable type: 'dict'
マイコード:
for dep in dep_list:
dep_dict['parent'] = dep.split(',')[0]
dep_dict['parent_pos'] = dep.split(',')[1]
dep_dict['parent_dep'] = dep.split(',')[2]
dep_dict['child'] = dep.split(',')[3]
dep_dict['child_pos'] = dep.split(',')[4]
dep_dict['child_dep'] = dep.split(',')[5]
dep_dict['avl_sent'] = item['avl_sent']
dep_dict['avl_author_type'] = item['avl_author_type']
dep_dict['avl_brand_1'] = item['avl_brand_1']
final_list.append(dep_dict.copy())
counts = collections.Counter(final_list)
print counts
final_list
を内容は、私がしたい正確に何です。私はただの周波数が欲しい。私は最終的にすべてをjsonとして出力したいと思います。
誰かがこれを手伝ってくれますか?コメントで述べたnamedtuple
については詳しく説明しprint final_list
[{'parent_pos': u'VBD', 'avl_author_type': u'individual', 'parent': u'get', 'avl_sent': u'positive', 'parent_dep': u'root', 'child_pos': u'NN', 'child_dep': u'dobj', 'child': u'event', 'avl_brand_1': u'Kennedy Health'}, {'parent_pos': u'VBD', 'avl_author_type': u'individual', 'parent': u'get', 'avl_sent': u'positive', 'parent_dep': u'root', 'child_pos': u'NNS', 'child_dep': u'dobj', 'child': u'emergingleaders', 'avl_brand_1': u'Kennedy Health'}, {'parent_pos': u'VBD', 'avl_author_type': u'individual', 'parent': u'get', 'avl_sent': u'positive', 'parent_dep': u'root', 'child_pos': u'NN', 'child_dep': u'pobj', 'child': u'company', 'avl_brand_1': u'Kennedy Health'}, {'parent_pos': u'NN', 'avl_author_type': u'individual', 'parent': u'event', 'avl_sent': u'positive', 'parent_dep': u'dobj', 'child_pos': u'NN', 'child_dep': u'nn', 'child': u'networking', 'avl_brand_1': u'Kennedy Health'}, {'parent_pos': u'NN', 'avl_author_type': u'individual', 'parent': u'company', 'avl_sent': u'positive', 'parent_dep': u'pobj', 'child_pos': u'NN', 'child_dep': u'nn', 'child': u'brewing', 'avl_brand_1': u'Kennedy Health'}, {'parent_pos': u'VBD', 'avl_author_type': u'individual', 'parent': u'do', 'avl_sent': u'positive', 'parent_dep': u'root', 'child_pos': u'DT', 'child_dep': u'dobj', 'child': u'this', 'avl_brand_1': u'Virtua'}, {'parent_pos': u'VBD', 'avl_author_type': u'individual', 'parent': u'do', 'avl_sent': u'positive', 'parent_dep': u'root', 'child_pos': u'NN', 'child_dep': u'pobj', 'child': u'showdown', 'avl_brand_1': u'Virtua'}, {'parent_pos': u'VBD', 'avl_author_type': u'individual', 'parent': u'do', 'avl_sent': u'positive', 'parent_dep': u'root', 'child_pos': u'PRP', 'child_dep': u'pobj', 'child': u'us', 'avl_brand_1': u'Virtua'}, {'parent_pos': u'VBD', 'avl_author_type': u'individual', 'parent': u'do', 'avl_sent': u'positive', 'parent_dep': u'root', 'child_pos': u'PRP', 'child_dep': u'nsubj', 'child': u'we', 'avl_brand_1': u'Virtua'}, {'parent_pos': u'VBD', 'avl_author_type': u'individual', 'parent': u'do', 'avl_sent': u'positive', 'parent_dep': u'root', 'child_pos': u'PRP', 'child_dep': u'nsubj', 'child': u'it', 'avl_brand_1': u'Virtua'}, {'parent_pos': u'NN', 'avl_author_type': u'individual', 'parent': u'showdown', 'avl_sent': u'positive', 'parent_dep': u'pobj', 'child_pos': u'JJ', 'child_dep': u'amod', 'child': u'final', 'avl_brand_1': u'Virtua'}]
ERROR in prepare final output
unhashable type: 'dict'
あなたは 'final_list'の初期化を示し、できますか? – WorldSEnder
'print(final_list)'を実行し、問題の結果を追加してください。ネストされた辞書は使用できません。 – furas
'dep_dict'の代わりに' namedtuple'を使う –