繁体   English   中英

将 networkx 图转换为 igraph 图时遇到问题

[英]Having problems converting networkx graph to igraph graph

我希望采用在 networkx 中创建的图 G 并将其转换为 igraph g,以便与 leidenalg 社区检测包一起使用。 这曾经对我有用,但现在我遇到了问题。

在运行 Catalina OSX 的 Mac 上的 Jupyter 笔记本中使用 Python 3。 Python-igraph 是 0.7.1.post7 版本。

import numpy as np
import networkx as nx
import igraph as ig
A=np.matrix([[0,7,7,0,0],[7,0,6,0,0],[7,6,0,2,1],[0,0,2,0,4],[0,0,1,4,0]])
G=nx.from_numpy_matrix(A)
nx.write_graphml(G,'graph.graphml')
g = ig.read('graph.graphml',format="graphml")

错误消息说“模块‘igraph’没有属性‘读取’”用

g=ig.Read_GraphML('graph.graphml')

不会消除错误消息。

出于某种原因,这在使用 Python 3.7 的 Spyder 中确实有效

我的猜测是您在 virtualenv 中安装了错误的软件包。

有2个库:

  1. igraph (与pip install igraph一起pip install igraph
  2. python-igraph (与brew install igraph && pip install python-igraph )。 这是包含read方法的那个。

两者都可以称为import igraph

尝试运行pip freeze以检查您是否在您的环境中安装了正确的软件包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM