Я пытаюсь понять, почему этот код не сортирует массив ...Сортировочный массив (сортимент) нумерации
Произвольный вектор.
x = array([[3, 2, 4, 5, 7, 4, 3, 4, 3, 3, 1, 4, 6, 3, 2, 4, 3, 2]])
xCoo = sps.coo_matrix(x)
perm = np.argsort(x)
xCoo.col = perm[xCoo.col]
print(xCoo.toarray()) # array([3, 2, 4, 5, 7, 4, 3, 4, 3, 3, 1, 4, 6, 3, 2, 4, 3, 2])
Я не уверен, что я неправильно понял. Каков правильный способ сделать это?
спасибо.
P.S. Я знаю, что я могу просто вызвать сортировку по массиву; однако я снова и снова применял эту перестановку.
Что такое 'sps'? и какова цель 'coo_matrix'? Похоже, это должно быть что-то вроде: 'a = np.array ([...]); idx = np.argsort (a); sorted_a = a [idx] '... – mgilson
' sps' is from: 'import scipy.sparse as sps'. 'coo_matrix' - это тип разреженной матрицы. –
Действительно ли 'x' будет 1-й 2-й массив? Сколько строк в 'xCoo'? Цель состоит в том, чтобы сортировать столбцы многих разреженных матриц, все с одинаковыми 'perm'? – hpaulj