當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NetworkX degree_mixing_matrix用法及代碼示例


本文簡要介紹 networkx.algorithms.assortativity.degree_mixing_matrix 的用法。

用法:

degree_mixing_matrix(G, x='out', y='in', weight=None, nodes=None, normalized=True, mapping=None)

返回屬性的混合矩陣。

參數

G圖形

NetworkX 圖形對象。

x: string (‘in’,’out’)

源節點的度數類型(僅限有向圖)。

y: string (‘in’,’out’)

目標節點的度數類型(僅限有向圖)。

nodes: list or iterable (optional)

僅使用容器中的節點構建矩陣。默認為所有節點。

weight: string or None, optional (default=None)

保存用作權重的數值的邊屬性。如果沒有,則每條邊的權重為 1。度數是與節點相鄰的邊權重的總和。

normalized布爾(默認=真)

如果為 False,則返回計數,如果為 True,則返回概率。

mapping字典,可選

從節點度映射到矩陣中的整數索引。如果未指定,將使用任意順序。

返回

m: numpy 數組

節點度數發生的計數或聯合概率。

注意

度數混合矩陣的定義因矩陣是否應包含未出現的度數值的行而異。這裏我們不包括這樣的empty-rows。但是您可以通過輸入包含這些值的mapping 來強製它們出現。請參閱示例。

例子

>>> G = nx.star_graph(3)
>>> mix_mat = nx.degree_mixing_matrix(G)
>>> mix_mat[0, 1]  # mixing from node degree 1 to node degree 3
0.5

如果您希望每個可能的度數都顯示為一行,即使沒有節點具有該度數,請使用mapping,如下所示,

>>> max_degree = max(deg for n, deg in G.degree)
>>> mapping = {x: x for x in range(max_degree + 1)} # identity mapping
>>> mix_mat = nx.degree_mixing_matrix(G, mapping=mapping)
>>> mix_mat[3, 1]  # mixing from node degree 3 to node degree 1
0.5

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.assortativity.degree_mixing_matrix。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。