Сортировать массив по заданному столбцу c, затем отсортировать по значению этого столбца. - PullRequest
2 голосов
/ 24 марта 2020

Я сейчас изучаю Python и пытаюсь отсортировать массив. Поскольку заголовок, вероятно, не очень конкретен c Я приведу пример того, что я собираюсь сделать: у меня есть такой массив:

a = array([[1, 2], [0, 5], [0, 3], [1, 0]])

Но с гораздо большим количеством строк и более высоких чисел, и мне бы хотелось:

a = array([[0, 3], [0, 5], [1, 0], [1, 2]])

На данный момент мне удалось получить это:

a = array([[0, 5], [0, 3], [1, 5], [1, 0]])

с помощью a = a[a[:, 0].argsort()]

Но я застрял там, и нигде не нашел помощи для своей проблемы, и я не знаю, как действовать ...

Может ли кто-нибудь помочь мне, пожалуйста?

1 Ответ

0 голосов
/ 24 марта 2020

Вы можете использовать встроенную функцию отсортировано :

import numpy as np

a = np.array([[1, 2],
           [0, 5],
           [0, 3],
           [1, 0]])


result = np.array(sorted(a, key=tuple))

print(result)

Вывод

[[0 3]
 [0 5]
 [1 0]
 [1 2]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...