Как отсортировать следующую матрицу:
import numpy as np
A = np.array([['2', '2', '2', 'd'],
['1', '1', '3', 'c'],
['1', '13', '1', 'a'],
['1', '11', '3', 'b']], dtype='<U2')
на основе чисел в текстовых ячейках и на основе нескольких столбцов?С сортировкой списков работает следующим образом:
sorted([[2, 2, 2, 'd'],
[1, 1, 3, 'c'],
[1, 13, 1, 'a'],
[1, 11, 3, 'b']], key = lambda k: (k[0],k[2],-k[1]))
Out[1]: [[1, 13, 1, 'a'], [1, 11, 3, 'b'], [1, 1, 3, 'c'], [2, 2, 2, 'd']]
но как я могу отсортировать массив Numpy A
, аналогичный приведенному выше списку?
Первое испытание не было успешным ...
sorted(A, key = lambda k: (k[0],k[2],-k[1]))
Трассировка (последний последний вызов):
Файл "", строка 1, в отсортированном виде (A, ключ = лямбда k: (k [0], k [2], - k [1]))
Ошибка типа: неверный тип операнда для унарного символа:: 'numpy.str _'