本文簡要介紹
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。