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布尔值(默认值=True)

如果为假,则返回计数;如果为真,则返回概率。

mapping词典,可选

矩阵中从节点度到整数索引的映射。如果未指定,将使用任意排序。

返回
M:Numy数组

节点度出现的计数或联合概率。

笔记

度混合矩阵的定义因矩阵是否应包括不出现的度值的行而有所不同。在这里,我们不包括这样的空行。但是您可以通过输入一个 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