本文简要介绍
networkx.convert_matrix.to_pandas_adjacency
的用法。用法:
to_pandas_adjacency(G, nodelist=None, dtype=None, order=None, multigraph_weight=<built-in function sum>, weight='weight', nonedge=0.0)
将图形邻接矩阵作为 Pandas DataFrame 返回。
- G:图形
用于构建 Pandas DataFrame 的 NetworkX 图。
- nodelist:列表,可选
行和列根据
nodelist
中的节点进行排序。如果nodelist
为无,则排序由 G.nodes() 生成。- multigraph_weight:{sum, min, max},可选
确定如何处理多重图中的权重的运算符。默认是对多条边的权重求和。
- weight:字符串或无,可选
保存用于边权重的数值的边属性。如果边不具有该属性,则使用值 1 代替。
- nonedge:浮点数,可选
对应于非边的矩阵值通常设置为零。但是,如果存在对应于实际边的矩阵值也为零,则这可能是不希望的。如果是这样,人们可能更喜欢非边具有一些其他值,例如 nan。
- df: Pandas DataFrame
图邻接矩阵
参数:
返回:
注意:
对于有向图,条目 i,j 对应于从 i 到 j 的边。
DataFrame 条目分配给权重边属性。当边没有权重属性时,条目的值设置为数字 1。对于多个(平行)边,条目的值由 ‘multigraph_weight’ 参数确定。默认是对每个平行边的权重属性求和。
当
nodelist
不包含G
中的每个节点时,该矩阵由G
的子图构建,该子图由nodelist
中的节点诱导。用于图中自循环边的约定是将对角矩阵条目值分配给边的权重属性(如果边没有权重属性,则为数字 1)。如果需要将边权重加倍的替代约定,则可以将生成的 Pandas DataFrame 修改如下:
>>> import pandas as pd >>> pd.options.display.max_columns = 20 >>> import numpy as np >>> G = nx.Graph([(1, 1)]) >>> df = nx.to_pandas_adjacency(G, dtype=int) >>> df 1 1 1 >>> df.values[np.diag_indices_from(df)] *= 2 >>> df 1 1 2
例子:
>>> 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 >>> nx.to_pandas_adjacency(G, nodelist=[0, 1, 2], dtype=int) 0 1 2 0 0 2 0 1 1 0 0 2 0 0 4
相关用法
- Python NetworkX to_pandas_edgelist用法及代码示例
- Python NetworkX to_prufer_sequence用法及代码示例
- Python NetworkX to_pydot用法及代码示例
- Python NetworkX to_numpy_recarray用法及代码示例
- Python NetworkX to_dict_of_dicts用法及代码示例
- Python NetworkX to_scipy_sparse_array用法及代码示例
- Python NetworkX to_vertex_cover用法及代码示例
- Python NetworkX to_sparse6_bytes用法及代码示例
- Python NetworkX to_numpy_matrix用法及代码示例
- Python NetworkX to_graph6_bytes用法及代码示例
- Python NetworkX to_nested_tuple用法及代码示例
- Python NetworkX to_networkx_graph用法及代码示例
- Python NetworkX to_numpy_array用法及代码示例
- Python NetworkX to_agraph用法及代码示例
- Python NetworkX to_scipy_sparse_matrix用法及代码示例
- 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_pandas_adjacency。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。