简体   繁体   English

如何用稀疏矩阵在networkx中创建图?

[英]How to create a graph in networkx from a sparse matrix?

I have a fairly large sparse matrix. 我有一个相当大的稀疏矩阵。 The sparse matrix have elements in the below format. 稀疏矩阵具有以下格式的元素。 I want to create a graph network using a networkx library. 我想使用networkx库创建一个图形网络。 Now, how should I approach? 现在,我应该如何处理?

Row and column are nodes and they are connected if the value of the matrix element is 1. 行和列是节点,如果矩阵元素的值为1,则它们是连接的。

In [44]: print(a)

(0, 0)    1
(1, 2)    1
(1, 3)    1
(2, 3)    1

Take a look at 看一眼

from_scipy_sparse_matrix . from_scipy_sparse_matrix

The call looks like G=nx.from_scipy_sparse_matrix(A, parallel_edges=False, create_using=None, edge_attribute='weight') 调用看起来像G=nx.from_scipy_sparse_matrix(A, parallel_edges=False, create_using=None, edge_attribute='weight')

A is the sparse matrix. A是稀疏矩阵。

If parallel_edges=False , then the entry is considered an edge weight 如果parallel_edges=False ,则该条目被视为边缘权重

create_using says what kind of graph it is. create_using表示它是哪种图形。 It defaults to nx.Graph . 默认为nx.Graph

If create_using is MultiGraph of MultiDiGraph , and parallel_edges=True , and all edges are entries, then a 2 would mean 2 edges. 如果create_usingMultiGraphMultiDiGraph ,并且parallel_edges=True ,并且所有边都是条目,则2表示2条边。

Otherwise the entries are treated as edge attributes. 否则,将条目视为边缘属性。

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

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