下面是给出TypeError的代码......
import pandas as pd
import networkx as nx
datamuse = pd.read_csv(NetworkDatasheet.csv',index_col=0)
print(datamuse)
G = nx.DiGraph(datamuse.values)
nx.draw_random(G, with_labels=True)
dc= nx.degree_centrality(G)
bc=nx.betweenness_centrality(G,normalized = True)
ec=nx.eigenvector_centrality(G)
nx.set_node_attributes(G,'degree centrality',dc)
nx.set_node_attributes(G,'betweenness centrality',bc)
nx.set_node_attributes(G,'eigenvector centrality',ec)
G.nodes()[1]['degree centrality']
字典中的值(例如:dc)像0.029411764705882353一样浮动
答案 0 :(得分:0)
代码的最后一行应替换为:
G.nodes(data=True)[1][1]['degree centrality']
您需要拥有节点的关联属性,因此data=True
,否则您只获得节点ID。
然后当你执行G.nodes(data=True)[1]
实际上你得到一个元组(nodeId, data_dict)
以便访问数据值时,你需要得到第二个元素,因此[1]
。