У меня есть эти данные в pandas
data = [
['ID', 'Time', 'oneMissing', 'singleValue', 'empty', 'oneEmpty'],
['CS1-1', 1, 10000, None, None, 0],
['CS1-2', 2, 20000, 0.0, None, 0],
['CS1-1', 2, 30000, None, None, 0],
['CS1-2', 1, 10000, None, None, None],
['CS1-11', 1, None, 0.0, None, None],
['CS1-2', 3, 30000, None, None, None]
]
, которые я пытаюсь отсортировать по столбцам ID и Time, поэтому результат должен выглядеть примерно так:
'CS1-1', 1, 10000, None, None, 0
'CS1-1', 2, 30000, None, None, 0
'CS1-2', 1, 10000, None, None, None
'CS1-2', 2, 20000, 0.0, None, 0
'CS1-2', 3, 30000, None, None, None
'CS1-11', 1, None, 0.0, None, None
]
Я использую кадр данных pandas длясортировка, также пробовал вместе с natsort, но я не могу заставить его работать.Либо я получаю ошибки, что в индекс входят дубликаты (в качестве индекса я использую идентификатор), либо он сортируется по строковым значениям.
Идентификатор здесь приведен только в качестве примера.Я не знаю, какой это будет формат, это может быть NUMBER-LETTER или NUMBER LETTER NUMBER.Мне просто нужно сравнить все числа как числа.Я посмотрел на "natsort", и это, кажется, правильно для массива.Поэтому я думаю, что можно использовать это для сортировки идентификатора и повторной индексации данных.
Я просмотрел несколько таких источников, но без особой удачи: Буквенно-цифровая сортировка Сортировка фреймов данных