ПРИМЕЧАНИЕ: это не вопрос даты и времени. Я использую Годы и Месяцы, чтобы продемонстрировать свое использование все большей и меньшей значимости.
Чтобы продемонстрировать, что я имею в виду под «наименее значимым», я буду использовать столбцы Годы и Месяцы, где месяц является наименее значимым.
a = np.array([(2003, 2),
(2006, 2),
(2003, 6),
(2003, 4),
(2005, 3)])
В терминологии базы данных, если я буду sh сортировать по году и месяцу, я просто использую «наиболее значимые столбцы первой логики c», что-то вроде «сортировки по году, месяцу», где год (col0) и месяц (col1) являются именами столбцов, и я получаю желаемый результат возрастания по годам, а затем по возрастанию месяцев в годах ....
2003, 2
2003, 4
2003, 6
2005, 3
2006, 2
Однако, если я использую тот же «самый значимый столбец, сначала logi c» из col0, col1
b = a[np.lexsort((a[:,0],a[:,1]))]
Я получаю
array([[2003, 2],
[2006, 2],
[2005, 3],
[2003, 4],
[2003, 6]])
Но если я использую 'наименее значимый столбец, сначала logi c'
b = a[np.lexsort((a[:,1],a[:,0]))]
, я получаю желаемый результат.
array([[2003, 2],
[2003, 4],
[2003, 6],
[2005, 3],
[2006, 2]])
Я не сталкивался с этим в своих поисках. Это правильно? В общем случае наименее значимые столбцы будут содержать порядок сортировки?