Python 如何使用networkx模块进行社区检测?
我正在使用networkx库处理图形优化问题。但是,当我尝试在其上运行该示例时,在执行该示例后,在我的PyCharm IDE中会显示:Python 如何使用networkx模块进行社区检测?,python,networkx,Python,Networkx,我正在使用networkx库处理图形优化问题。但是,当我尝试在其上运行该示例时,在执行该示例后,在我的PyCharm IDE中会显示: Traceback (most recent call last): File "/home/PycharmProjects/testing_things.py", line 1, in <module> import community ImportError: No module named community 回溯(最近一次呼叫最
Traceback (most recent call last):
File "/home/PycharmProjects/testing_things.py", line 1, in <module>
import community
ImportError: No module named community
回溯(最近一次呼叫最后一次):
文件“/home/PycharmProjects/testing_things.py”,第1行,在
导入社区
ImportError:没有名为community的模块
有人知道如何消除这个错误吗?我使用的是Python 2.7您的Python安装似乎没有安装
社区
您可以通过运行以下命令进行安装:
pip install python-louvain
干杯 您的python安装似乎没有安装
community
您可以通过运行以下命令进行安装:
pip install python-louvain
干杯 使用pip安装Python Louvain:
pip install python_louvain
然后在脚本中,使用以下命令直接导入模块:
from community import community_louvain
在代码中,按以下方式使用函数:
partition = community_louvain.best_partition(G)
使用pip安装Python Louvain:
pip install python_louvain
然后在脚本中,使用以下命令直接导入模块:
from community import community_louvain
在代码中,按以下方式使用函数:
partition = community_louvain.best_partition(G)
您可以使用:
conda install python-louvain
您可以使用:
conda install python-louvain
以下是基于Louvain社区检测算法的著名空手道俱乐部图上的社区检测示例:
# Replace this with your networkx graph loading depending on your format!
r = nx.karate_club_graph()
#first compute the best partition
partition = community.best_partition(r)
#drawing
size = float(len(set(partition.values())))
pos = nx.spring_layout(r)
count = 0
for com in set(partition.values()) :
count = count + 1.
list_nodes = [nodes for nodes in partition.keys()
if partition[nodes] == com]
nx.draw_networkx_nodes(r, pos, list_nodes, node_size = 20,
node_color = str(count / size))
nx.draw_networkx_edges(r, pos, alpha=0.5)
plt.show()
以下是基于Louvain社区检测算法的著名空手道俱乐部图上的社区检测示例:
# Replace this with your networkx graph loading depending on your format!
r = nx.karate_club_graph()
#first compute the best partition
partition = community.best_partition(r)
#drawing
size = float(len(set(partition.values())))
pos = nx.spring_layout(r)
count = 0
for com in set(partition.values()) :
count = count + 1.
list_nodes = [nodes for nodes in partition.keys()
if partition[nodes] == com]
nx.draw_networkx_nodes(r, pos, list_nodes, node_size = 20,
node_color = str(count / size))
nx.draw_networkx_edges(r, pos, alpha=0.5)
plt.show()
我的拙见是,社区仍然伴随着networkx。我插入了python louvain,但仍然收到相同的错误消息@user2567806您是否使用多个python环境?(
conda
或virtualenv
)?如果是这样的话,你必须确保你正在正确的环境中安装community
。关于环境,你是对的。现在它工作了!您知道PyCharm正在使用哪种python安装吗?(应该在文件>设置>项目解释器中)我猜pycharm使用的安装与默认python不同。不管怎样,很高兴它起作用了!请记住接受/投赞成票答案:)依我拙见,社区还是有networkx的。我插入了python louvain,但仍然收到相同的错误消息@user2567806您是否使用多个python环境?(conda
或virtualenv
)?如果是这样的话,你必须确保你正在正确的环境中安装community
。关于环境,你是对的。现在它工作了!您知道PyCharm正在使用哪种python安装吗?(应该在文件>设置>项目解释器中)我猜pycharm使用的安装与默认python不同。不管怎样,很高兴它起作用了!请记住接受/投票支持答案:)答案应该是python louvain
而不是python\u louvain
答案应该是python louvain
而不是python\u louvain