如何在 scipy 稀疏矩阵中确定索引数组的顺序?
Posted
技术标签:
【中文标题】如何在 scipy 稀疏矩阵中确定索引数组的顺序?【英文标题】:How is the order of the indices array determined in a scipy sparse matrix? 【发布时间】:2021-12-06 03:25:54 【问题描述】:我有两个具有相同非零位置的 scipy.sparse.csr_matrices。我假设他们的 indptr 和 indices 数组是相同的。但事实证明,只有它们的 indptr 数组是相同的(并且已排序)。存储任何行的列的索引数组是任何行的排列。
在上图中,让 A = sum_predictions 和 B = Yt_preds[4] 为两个矩阵。两个矩阵都具有相同的非零位置。我们看到它们的 indptr 数组(每行中的非零数)是相同的。然而,索引数组(任何特定行的列)是彼此的排列。
scipy稀疏矩阵中索引数组的顺序是如何确定的?如何获得具有相同非零位置的两个矩阵具有相同 indptr 和索引数组的表示?
【问题讨论】:
你可以通过调用mat.sort_indices()
对索引进行排序
【参考方案1】:
解决方案就是CJR提出的:mat.sortindices()
【讨论】:
以上是关于如何在 scipy 稀疏矩阵中确定索引数组的顺序?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过索引将 scipy.sparse 矩阵分配给 NumPy 数组?
如何将 numpy.matrix 或数组转换为 scipy 稀疏矩阵