web-dev-qa-db-ja.com

AttributeError: 'dict_values'オブジェクトに属性 'count'がないのを修正するにはどうすればよいですか?

ここが私の コード で、テキストファイルが ここ です

import networkx as nx
import pylab as plt

webg = nx.read_edgelist('web-graph.txt',create_using=nx.DiGraph(),nodetype=int)
in_degrees = webg.in_degree()
in_values = sorted(set(in_degrees.values()))
in_hist = [in_degrees.values().count(x)for x in in_values]

次数分布のWebグラフをプロットしたいのですが、dictを変更して解決するにはどうすればよいですか?

7

Python3では、dict.values()はリストではなく「ビュー」を返します。

「ビュー」をリストに変換するには、in_degrees.values()list()でラップするだけです。

in_hist = [list(in_degrees.values()).count(x) for x in in_values]
6

エラーは明らかですdict_valuesオブジェクトには属性countがありません。一意の値の数をカウントする場合、最善の方法はcollections.Counterを使用することです

from collections import Counter
in_hist = Counter(in_degrees.values())
1
Kasramvd