python - 尝试使用来自 networkx 的 percolation_centrality

标签 python python-3.x networkx

快速提问。我使用 numpy 从已更改为 csv 的 excel 文件生成矩阵。然后我使用这个矩阵 G 来计算一些图形指标。起初我尝试了特征向量中心性,它工作得非常好,但我在渗透中心性方面没有取得如此成功。当我尝试这样做时,我收到 KeyError: 0。检查 networkx 文档,我认为我没有犯任何明显的错误,但请提供帮助。

import networkx as nx
import numpy as np


mydata = np.genfromtxt('brain10.csv', delimiter=',')
G = nx.from_numpy_matrix(mydata)


centrality = nx.percolation_centrality(G, weight="weight")



import parcellation_dictionary from parcellation_dictionary.py

这行不通,我实际上必须复制粘贴整个字典

result = {k:centrality[v] for v,k in parcellation_dictionary.items()}
print(result)

sorted_by_value = sorted(result.items(), reverse= True, key=lambda kv: kv[1])
print(sorted_by_value)

我得到的错误:

"C:\Program Files (x86)\Python37-32\python.exe" "C:/Users/bob/PycharmProjects/EVC trial/evc trial no 138.py"
Traceback (most recent call last):
  File "C:/Users/bob/PycharmProjects/EVC trial/evc trial no 138.py", line 9, in <module>
    centrality = nx.percolation_centrality(G, weight="weight")
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\networkx\algorithms\centrality\percolation.py", line 109, in percolation_centrality
    states, p_sigma_x_t)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\networkx\algorithms\centrality\percolation.py", line 129, in _accumulate_percolation
    pw_s_w = states[s] / (p_sigma_x_t - states[w])
KeyError: 0

Process finished with exit code 1

最佳答案

您需要先设置节点属性。试试这个方法。

nx.set_node_attributes(G, 0.1, 'percolation')

percolation_cent_dict = nx.percolation_centrality(
    G=G,
    attribute='percolation',
)

关于python - 尝试使用来自 networkx 的 percolation_centrality,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54995434/

相关文章:

python - 如何使用networkx将边添加到列表末尾

python - NetworkX:边和节点属性的子图同构

networkx - 使用 OSMnx 提取约束多边形

python - 如何关闭requests.Session()?

python - 在 Windows 10 中,如何配置 Visual Studio Code 以查找 Python 3 解释器?

python-3.x - 神经网络的分辨率取决于哪些因素?

Python3文本替换优化

python - 如何使用 MySQL Connector/Python 创建临时表?

Python 子进程被 "echo y"管道破坏

python - 具有退出和重新启动循环的计算器程序