Невозможно отсортировать элементы массивов в большем массиве в порядке возрастания, используя np.sort - PullRequest
0 голосов
/ 25 сентября 2019
  1. Поскольку я работаю с несколькими функциями, я покажу только код, с которым я работаю, для массива.Во-первых, это данные испытаний, проходящих через ранговый фильтр.Теперь результат после разделения испытаний таков:
concatTrials[:] = [rank(i) for i in concatTrials]
concatTrials = np.split(concatTrials,num_trials)

После этого я получаю
[array(['9', '11', '4', '10', '2'], dtype='<U3'), array(['8', '7', '2', '14', '6'], dtype='<U3'), array(['8', '3', '8', '6', '11'], dtype='<U3'), array(['6', '13', '10', '11', '4'], dtype='<U3'), array(['3', '2', '5', '6', '3'], dtype='<U3'), array(['12', '3', '12', '5', '13'], dtype='<U3'), array(['2', '11', '9', '3', '2'], dtype='<U3'), array(['2', '13', '5', '11', '11'], dtype='<U3'), array(['10', '5', '7', '9', '3'], dtype='<U3'), array(['14', '7', '2', '8', '6'], dtype='<U3')]
Тогда я делаю
concatTrials = np.sort(concatTrials)
Это дает мне
[['10' '11' '2' '4' '9']
 ['14' '2' '6' '7' '8']
 ['11' '3' '6' '8' '8']
 ['10' '11' '13' '4' '6']
 ['2' '3' '3' '5' '6']
 ['12' '12' '13' '3' '5']
 ['11' '2' '2' '3' '9']
 ['11' '11' '13' '2' '5']
 ['10' '3' '5' '7' '9']
 ['14' '2' '6' '7' '8']]

Однако моя цель состоит в том, чтобы элементы каждого внутреннего массива сортировались в порядке возрастания.Если бы кто-нибудь мог помочь пролить свет, это было бы очень ценно.Моя текущая идея - запустить цикл for для перебора каждого подмассива, сортируя каждый, но я не уверен, с чего начать.

1 Ответ

0 голосов
/ 25 сентября 2019

Это потому, что элементы str с.Сначала сделайте их int (или float):

import numpy as np

arr = np.array(concatTrials , dtype=int)
arr.sort()
arr

Вывод:

array([[ 2,  4,  9, 10, 11],
       [ 2,  6,  7,  8, 14],
       [ 3,  6,  8,  8, 11],
       [ 4,  6, 10, 11, 13],
       [ 2,  3,  3,  5,  6],
       [ 3,  5, 12, 12, 13],
       [ 2,  2,  3,  9, 11],
       [ 2,  5, 11, 11, 13],
       [ 3,  5,  7,  9, 10],
       [ 2,  6,  7,  8, 14]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...