Сортировка Numpy массивов с использованием нескольких ключей - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть массив из трех разных списков:

a = [date_DB,singolaData,Pesi]
a=numpy.array(a)

Три из них имеют длину 2600x1, поэтому окончательный массив numpy будет иметь элемент 2600x3. Я пытаюсь отсортировать массив numpy, начиная с singoladata (так что [1]), а затем для date_DB (так что [0]). Я отсортировал массив только для singolaData, используя этот код:

b = a [:,a.argsort()]

Однако мое намерение будет таким, как я уже указал выше. Я попытался использовать функцию numpy lexsort и написал следующее:

        primo=a[0]
        secondo=a[1]
        ind=np.lexsort((secondo,primo))

Если мне не нужно сортировать мой массив с учетом индексов результата функции lexsort, python выдает мне эту ошибку:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Есть ли кто-нибудь, кто имеет представление о том, как упорядочить массив наилучшим образом?

Причина, по которой мне нужна двойная сортировка, заключается в том, что столбец singolaData содержит некоторые идентичные данные внутри, и мне нужно навести строгий порядок в серии.

Большое спасибо за вашу помощь.

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