scipy 稀疏矩阵中索引数组的顺序是如何确定的?

How is the order of the indices array determined in a scipy sparse matrix?

我有两个 scipy.sparse.csr_matrices 具有相同的非零位置。我假设他们的 indptr 和 indices 数组是相同的。但事实证明只有它们的 indptr 数组是相同的(并且已排序)。存储任何行的列的索引数组是任何行的排列。

在上图中,设A = sum_predictions和B = Yt_preds[4]为两个矩阵。两个矩阵都具有相同的非零位置。我们看到它们的 indptr 数组(每行中的非零数)是相同的。然而,索引数组(任何特定行的列)是彼此的排列。

scipy稀疏矩阵中索引数组的顺序是如何确定的?我怎样才能得到一个表示,其中两个具有相同非零位置的矩阵具有相同的 indptr 和 indices 数组?

解决方案是CJR提出的:mat.sortindices()