我有基本的数据,它看起来像这样
A B C D ... Z
foo1 1 0 1 0 ... 0
foo2 0 0 0 1 ... 0
foo3 0 1 0 0 ... 1
foo4 1 0 1 1 ... 0
(实际形状= 330,1113),我把它转换成邻接矩阵。
A B C D ... Z
A
B
C
D
..
Z
(实际形状= 1113,1113)
这个矩阵只有二进制值,我可以使用networkx得到图的几个中心(度、贴近度、中间度)。
然后,我给了dataframe一些值,比如
A B C D ... Z
foo1
我必须用python编写一个函数,写一个距离矩阵,用来计算一个图的距离矩阵。我可以使用NetworkX函数adjacency_matrix来计算输入图的邻接矩阵,但不能使用任何其他NetworkX函数。 我知道这个函数必须计算一个图的距离矩阵。它需要一个矩阵,表示为numpy.ndarray类型的数组,其形状与图的邻接矩阵相同。 Am = np.eye(48)
A = nx.adjacency_matrix(G).toarray()
A1 = np.eye(48)
def distance_matrix(G):
for m in range(1,49,1):
Am=n
NetworkX是否具有与邻接矩阵频率/节点-节点频率成比例缩放节点和边的内置方法?我试图根据邻接矩阵频率和基于节点-节点频率的边的权重来缩放节点和文本的大小。我已经为图创建了一个频率属性,但这并不能解决向图传递有关节点-节点频率的信息的问题。
所以有两部分的问题:
1)将邻接矩阵转换为networkX图的最佳实践是什么?
2)如何使用该信息来缩放节点的大小和边的权重?
## Compute Graph (G)
G = nx.Graph(A)
## Add frequency of word as attribute of graph
def Freq_Attribute(G, A):
我想从Julia (v0.7)中的邻接矩阵生成一个加权和有向网络。
到目前为止,我已经尝试过:
using LightGraphs
using SimpleWeightedGraphs
A = rand(100, 100)
G = Graph(A)
但我得到了错误:
ERROR: ArgumentError: Adjacency / distance matrices must be symmetric
Stacktrace:
[1] SimpleGraph{Int64}(::Array{Float64,2}) at /home/user/.julia/packages/LightGrap
我通过邻接矩阵A (numpy矩阵)创建了一个图G(网络库),它存储链接的权重。
import numpy as np
import networkx as nx
A = np.loadtxt('SM_waste.csv',delimiter=';')
G = nx.from_numpy_matrix(A, parallel_edges=False, create_using=None)
我也有节点名称的列表,但我不知道如何为每个节点分配名称。我该怎么做?
我偶然发现了这个公式,以获得无向图中4圈的数量:
[![formula to calculate the number of 4-cycle][1]][1]
Ck = 1/2k Tr(Pk-1 A)
k stands for k-cycle, and A is the adjacency matrix, Pk-1 is the path count matrix
网页链接:
我现在正在尝试用python编写这个简单的公式,我可以使用NetworkX的adjacency_matrix函数来获得邻接矩阵,我也可以获得矩阵的迹。我只是不确定所谓的路径计数Pk矩阵,我在谷歌上搜索了一段时间
我有一个邻接矩阵,它的非零元素表明link.The权重是小数。我想要获得每个节点的节点强度,即,与节点相邻的边权重之和以及权重分布。我尝试了以下代码:
import networkx as nx
G=nx. Graph(a) # a is the adjacency matrix.
w=G.degree()
但我得到了每个节点的度数作为答案,而不是连接到该节点的链接的权重总和。在这方面的任何帮助都将是非常值得感谢的。我是networkx的新手。