我正在使用networkx库来解决图形优化问题。但是,当我尝试在their documentation上运行示例时,它在执行示例后在我的PyCharm IDE中说:
Traceback (most recent call last):
File "/home/PycharmProjects/testing_things.py", line 1, in <module>
import community
ImportError: No module named community
有谁知道如何摆脱这个错误?我使用的是Python 2.7
答案 0 :(得分:0)
您的python安装似乎没有安装community
。
您可以通过运行来安装它:
pip install python-louvain
干杯!
答案 1 :(得分:0)
使用pip安装Python-Louvain:
pip install python_louvain
然后在脚本中直接使用以下命令导入模块:
from community import community_louvain
在您的代码中,通过以下方式使用该函数:
partition = community_louvain.best_partition(G)
答案 2 :(得分:0)
您可以使用:
conda install python_louvain
答案 3 :(得分:0)
以下是基于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()