У меня есть матрица инцидентности (где строки являются узлами, а столбцы являются ребрами) следующим образом (это считывается из текстового файла в массив NumPy):Python NetworkX создания графы из матрицы инцидентности
[[1 1 1 1 1 1 1 1 1 1]
[1 1 1 1 1 1 1 0 0 0]
[1 1 1 1 1 0 1 1 0 0]
[0 0 1 1 1 0 1 0 0 0]
[1 1 1 1 1 1 0 0 0 0]
[1 1 0 1 1 0 0 0 0 0]
[1 0 1 0 0 1 0 1 0 0]
[0 1 0 1 1 0 0 0 0 0]
[1 1 1 0 0 1 0 0 0 0]
[0 0 1 1 0 1 0 0 0 0]
[1 0 1 0 0 1 0 0 0 0]
[1 0 1 1 0 0 0 0 0 0]
[1 0 0 0 0 0 1 1 0 0]
[1 1 0 0 0 0 1 0 0 0]
[0 1 0 0 0 1 0 0 0 0]
[1 0 0 1 0 0 0 0 0 0]
[0 0 1 1 0 0 0 0 0 0]
[1 1 0 0 0 0 0 0 0 0]
[0 1 0 0 0 0 0 0 0 0]
[0 0 0 1 0 0 0 0 0 0]
[1 0 0 0 0 0 0 0 0 0]
[0 0 0 1 0 0 0 0 0 0]
[0 1 0 0 0 0 0 0 0 0]
[0 0 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 1 0 0 0]
[0 1 0 0 0 0 0 0 0 0]]
Я хотел бы создать граф, используя NetworkX из этой матрицы, но не смог найти, как это сделать. NetworkX from_numpy_matrix работает только с смежными матрицами. Here - хороший пример того, как создать матрицу инцидентов с помощью NetworkX (но это не мой случай, потому что у меня уже есть матрица инцидентов). Я также попытался this, но получил неприятную ошибку:
File "C:\Python27\lib\site-packages\networkx\convert.py", line 150, in to_networkx_graph
"Input is not a correct numpy matrix or array.")
networkx.exception.NetworkXError: Input is not a correct numpy matrix or array.
Выглядит простой вопрос, но, возможно, это не так. Может ли кто-нибудь помочь мне с этим?
Заранее благодарен!
Спасибо, @Ami Tavory! Я хорошо работаю. Трюк переноса исходной матрицы для создания матрицы смежности очень приятный. С наилучшими пожеланиями. – maurobio