本文简要介绍
networkx.convert_matrix.to_scipy_sparse_matrix
的用法。用法:
to_scipy_sparse_matrix(G, nodelist=None, dtype=None, weight='weight', format='csr')
将图形邻接矩阵作为SciPy 稀疏矩阵返回。
- G:图形
NetworkX 图用于构造稀疏矩阵。
- nodelist:列表,可选
行和列根据
nodelist
中的节点进行排序。如果nodelist
为无,则排序由 G.nodes() 生成。- dtype:NumPy 数据类型,可选
用于初始化数组的有效 NumPy dtype。如果无,则使用 NumPy 默认值。
- weight:字符串或无可选(默认='weight')
保存用于边权重的数值的边属性。如果 None 则所有边权重为 1。
- format:{‘bsr’, ‘csr’, ‘csc’, ‘coo’, ‘lil’, ‘dia’, ‘dok’} 中的字符串
要返回的矩阵的类型(默认‘csr’)。对于某些算法,稀疏矩阵的不同实现可以表现更好。详细信息请参见[1]。
- A:SciPy 稀疏矩阵
图邻接矩阵。
参数:
返回:
注意:
对于有向图,矩阵条目 i,j 对应于从 i 到 j 的边。
使用参数权重中保存的边属性填充矩阵条目。当一条边没有该属性时,该条目的值为 1。
对于多条边,矩阵值是边权重的总和。
当
nodelist
不包含G
中的每个节点时,邻接矩阵由G
的子图构建,该子图由nodelist
中的节点诱导。用于图中自循环边的约定是将对角矩阵条目值分配给边的权重属性(如果边没有权重属性,则为数字 1)。如果需要将边权重加倍的替代约定,则可以按如下方式修改生成的 Scipy 稀疏矩阵:
>>> G = nx.Graph([(1, 1)]) >>> A = nx.to_scipy_sparse_matrix(G) >>> print(A.todense()) [[1]] >>> A.setdiag(A.diagonal() * 2) >>> print(A.todense()) [[2]]
参考:
- 1
Scipy Dev. References, “Sparse Matrices”, https://docs.scipy.org/doc/scipy/reference/sparse.html
例子:
>>> G = nx.MultiDiGraph() >>> G.add_edge(0, 1, weight=2) 0 >>> G.add_edge(1, 0) 0 >>> G.add_edge(2, 2, weight=3) 0 >>> G.add_edge(2, 2) 1 >>> S = nx.to_scipy_sparse_matrix(G, nodelist=[0, 1, 2]) >>> print(S.todense()) [[0 2 0] [1 0 0] [0 0 4]]
相关用法
- Python NetworkX to_scipy_sparse_array用法及代码示例
- Python NetworkX to_sparse6_bytes用法及代码示例
- Python NetworkX to_prufer_sequence用法及代码示例
- Python NetworkX to_numpy_recarray用法及代码示例
- Python NetworkX to_dict_of_dicts用法及代码示例
- Python NetworkX to_pydot用法及代码示例
- Python NetworkX to_vertex_cover用法及代码示例
- Python NetworkX to_numpy_matrix用法及代码示例
- Python NetworkX to_graph6_bytes用法及代码示例
- Python NetworkX to_pandas_adjacency用法及代码示例
- Python NetworkX to_nested_tuple用法及代码示例
- Python NetworkX to_networkx_graph用法及代码示例
- Python NetworkX to_numpy_array用法及代码示例
- Python NetworkX to_agraph用法及代码示例
- Python NetworkX to_pandas_edgelist用法及代码示例
- Python NetworkX topological_generations用法及代码示例
- Python NetworkX topological_sort用法及代码示例
- Python NetworkX transitive_closure_dag用法及代码示例
- Python NetworkX tree_graph用法及代码示例
- Python NetworkX threshold_accepting_tsp用法及代码示例
- Python NetworkX tensor_product用法及代码示例
- Python NetworkX transitivity用法及代码示例
- Python NetworkX triangles用法及代码示例
- Python NetworkX triad_graph用法及代码示例
- Python NetworkX transitive_closure用法及代码示例
注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.convert_matrix.to_scipy_sparse_matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。