为什么 NetworkX 会为无向图生成不对称的邻接矩阵

Why does the NetworkX generate an adjacency matrix that is not symmetric for an undirected graph

我正在尝试使用 NetworkX 学习编码。我现在正在尝试使用我编写的以下代码获取无向图的邻接矩阵:

mat = nx.adjacency_matrix(graph)
matDense = mat.todense();

print(len(matDense ))
print(len(matDense [0]))

输出为

38
1

我对邻接矩阵的理解是它应该是对称的,但是,输出似乎不是,NetworkX 生成的邻接矩阵似乎是 38*1 矩阵而不是 38*38?

如果这样,我如何访问邻接矩阵的单个单元格,目前我只能定位到 rows.If matDense[0][2],将抛出数组索引越界错误。

在此先感谢您的帮助!

是方阵

问题出在这个命令中:

print(len(matDense [0]))

matDense[0] 是一个由单行组成的矩阵。本例中的 len 命令告诉您只有一行。尝试

print(len(matDense[0].transpose()))