在python中随机调整稀疏矩阵

时间:2012-09-01 19:01:36

标签: python numpy sparse-matrix shuffle

有没有一种简单的方法可以在python中对稀疏矩阵进行混洗?

这就是我改变非稀疏矩阵的方法:

    index = np.arange(np.shape(matrix)[0])
    np.random.shuffle(index)
    return matrix[index]

我怎样才能使用numpy稀疏?

3 个答案:

答案 0 :(得分:13)

好的,找到了。稀疏格式在打印输出中看起来有点混乱。

    index = np.arange(np.shape(matrix)[0])
    print index
    np.random.shuffle(index)
    return matrix[index, :]

答案 1 :(得分:0)

如果有人想要从稀疏矩阵中随机获取行的子样本,这个相关的帖子也可能有用:How should I go about subsampling from a scipy.sparse.csr.csr_matrix and a list

答案 2 :(得分:0)

更好的方法是改组CSR矩阵的索引并按如下方式获取矩阵的行:

from random import shuffle
indices = np.arange(matrix.shape[0]) #gets the number of rows 
shuffle(indices)
shuffled_matrix = matrix[list(indices)]