将邻接矩阵转换为向量

约翰内斯·威斯纳

我想将邻接矩阵转换为向量。我已经想出了一个可行的解决方案,但似乎过于复杂(使用 Pandas 的解决方法)。必须有更简单的方法来做到这一点?

例子:

import numpy as np
import pandas as pd

A = np.array([[0,1,2,3],
              [1,0,1,0],
              [2,1,0,0],
              [3,0,0,0]],
             dtype=float)

il = np.tril_indices(len(A))
A[il] = np.nan
A_df = pd.DataFrame(A)
A_stacked = A_df.stack().reset_index()
A_vector = A_stacked[0]

这给了你:

0    1.0
1    2.0
2    3.0
3    1.0
4    0.0
5    0.0
Name: 0, dtype: float64
蒂努

解决方案:用斜offset参数knp.triu_indices()

import numpy as np
import pandas as pd

A = np.array([[0,1,2,3],
              [1,0,1,0],
              [2,1,0,0],
              [3,0,0,0]],
             dtype=float)

iu = np.triu_indices(len(A),k=1)
A[iu]

结果是

array([1, 2, 3, 1, 0, 0])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将虚拟编码矩阵转换为邻接矩阵

如何将矩阵转换为邻接矩阵?

将邻接矩阵转换为Cytoscape的Edgelist(csv文件)

将igraph邻接矩阵转换为numpy数组

将邻接矩阵转换为抽象单纯复形

将邻接矩阵转换为 R 中的两列表

将txt文件转换为邻接矩阵

将邻接矩阵转换为CSV文件

如何将 .txt 文件转换为邻接矩阵?

从最近邻居搜索创建邻接矩阵。(将邻接列表转换为邻接矩阵)-Matlab

将节点的多个向量合并到边列表中,并将它们转换为邻接矩阵

使用python将邻接列表转换为稀疏邻接矩阵

如何使用python将邻接矩阵转换为邻接列表?

在python中将邻接表转换为邻接矩阵

如何将稀疏矩阵转换为密集邻接矩阵?

如何将加权边列表转换为 R 中的邻接矩阵

熊猫:如何将一个热编码的数据帧转换为邻接矩阵?

将二部图转换为邻接矩阵Spark Scala

将二部图转换为邻接矩阵python

将最近邻居列表转换为 r 中的二进制邻接矩阵

如何仅通过张量操纵将已知的连接分量转换为邻接矩阵?

将邻接矩阵转换为字典的有效方法是什么?

如何将加权边列表转换为 r 中的邻接矩阵

如何将大型边列表csv转换为邻接矩阵

将A和arma :: mat邻接矩阵转换为C中的igraph图(Rcpp)

将data.frame转换为邻接矩阵以进行网络分析(R)

如何将该邻接矩阵转换为图形对象?

在R中将数据帧转换为邻接矩阵格式

如何在JavaScript中将邻接矩阵转换为邻接列表?