首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网络图论

网络图论
EN

Stack Overflow用户
提问于 2014-06-17 03:09:21
回答 2查看 3.9K关注 0票数 5

我现在开始使用这个界面了,我对Python有一些经验,但没有什么广泛的经验。我正在计算一个小图的传递性和社区结构:

代码语言:javascript
复制
import networkx as nx

G = nx.read_edgelist(data, delimiter='-', nodetype=str)
nx.transitivity(G)

#find modularity
part = best_partition(G)
modularity(part, G)

然而,我得到的传递性很好--在计算模块性时有以下错误。

代码语言:javascript
复制
NameError: name 'best_partition' is not defined

我刚刚跟踪了networkx网站提供的文档,我做错了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-17 03:26:01

据我所知,best_partition不是networkx的一部分。看起来您想使用https://sites.google.com/site/findcommunities/,您可以从https://bitbucket.org/taynaud/python-louvain/src安装它

一旦安装了community,请尝试以下代码:

代码语言:javascript
复制
import networkx as nx
import community
import matplotlib.pyplot as plt

G = nx.random_graphs.powerlaw_cluster_graph(300, 1, .4)
nx.transitivity(G)

#find modularity
part = community.best_partition(G)
mod = community.modularity(part,G)

#plot, color nodes using community structure
values = [part.get(node) for node in G.nodes()]
nx.draw_spring(G, cmap = plt.get_cmap('jet'), node_color = values, node_size=30, with_labels=False)
plt.show()

编辑:如何安装社区检测库的

代码语言:javascript
复制
ryan@palms ~/D/taynaud-python-louvain-147f09737714> pwd
/home/ryan/Downloads/taynaud-python-louvain-147f09737714
ryan@palms ~/D/taynaud-python-louvain-147f09737714> sudo python3 setup.py install
票数 10
EN

Stack Overflow用户

发布于 2014-08-29 09:22:02

我只是在使用NameError: name 'best_partition' is not defined示例代码时遇到了相同的错误

发生此错误是因为我将python文件命名为networkx.py,然后当我们执行此程序时

代码语言:javascript
复制
import networkx as nx

这个程序可以导入我们定义的networkx,而不是库。在程序中,没有定义best_partition。所以这个错误就发生了。

与库同名是不合适的。也许你该看看这个!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24255143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档