有没有一种简单的方法可以在python中对稀疏矩阵进行混洗?
这就是我改变非稀疏矩阵的方法:
index = np.arange(np.shape(matrix)[0])
np.random.shuffle(index)
return matrix[index]
我怎样才能使用numpy稀疏?
答案 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)]