2016-06-21 2 views
0

Мы хотим сортировать «имена» alphebeticaly в то время как порог, убедившись, что соответствующий класс (grraides) предоставляется правильному ученику.Сортировка выбранных строк в столбце матрицы

print("List of grades are:") 
grraids=computeFinalGrade(pure_data) 
kn=np.column_stack((names,grraids)) 
for names in sorted(kn): 
    print(kn) 

enter image description here

Мы получаем, что, но очень хотелось бы, эти имена, чтобы быть в alphebetical порядке, но сохраняющий функцию генерала.

ответ

1

Редактировать: Извините, не понял, что это был массив numpy, код был изменен соответствующим образом. Тем не менее, по-прежнему предполагается, что имя студента всегда находится на одном месте. (Первое место)

import numpy as np 
grades = np.array([["B",10],["C",8],["A",3]]) 
print grades 
grades.sort(axis=0) 
print grades 

Выход:

[['B' '10'] 
['C' '8'] 
['A' '3']] 
[['A' '10'] 
['B' '3'] 
['C' '8']] 
+0

Спасибо за головы. Не понимал, что это массивный массив. По крайней мере, im предполагает, что np ссылается на numpy – Yarnspinner

+0

. Я получаю возвращаемый вход TypeError: unorderable types: float()> str(). Когда я пишу grades.sort (axis = 1), я сортирую значения после наименьшего по наибольшему классу, но когда я пишу grades.sort (axis = 0), он возвращает ошибку типа. Любые предложения? –

+1

Кажется, что у вас смешанные числа и строки в первой позиции пар (студенты, результаты). То есть Пара, где-то что-то вроде '[2.0," b "]'. Я бы попробовал «print kn», чтобы сначала посмотреть на данные, чтобы первый столбец был только именами. – Yarnspinner