Случайным образом перемешать разреженную матрицу в python

Есть ли простой способ перемешать разреженную матрицу в Python?

Вот как я тасую не разреженную матрицу:

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

Как я могу сделать это с NumPy разреженным?

Ответы на вопрос(3)

Лучшим способом может быть перетасовка индекса матрицы CSR и выборка строк матрицы как таковых:

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

В случае, если кто-то хочет случайным образом получить подвыборку строк из разреженной матрицы, этот пост также может быть полезен:Как я должен идти о подвыборке из scipy.sparse.csr.csr_matrix и списка

Решение Вопроса

Хорошо, нашел это. Разреженный формат выглядит немного запутанным в распечатке.

    index = np.arange(np.shape(matrix)[0])
    print index
    np.random.shuffle(index)
    return matrix[index, :]
 Ramakrishnan Kannan16 дек. 2016 г., 18:12
Работает только для csr_matrix. Я получаю ошибкуcoo_matrix» объект не имеет атрибутаGetItem.

Ваш ответ на вопрос