Код: Выделить всё
df = pd.DataFrame({
"time": ['0hr', '128hr', '72hr', '48hr', '96hr'],
"value": [10, 20, 30, 40, 50]
})
df.sort_values(
by="time",
key=lambda x: index_natsorted(df["time"])
)
Однако результат, который я получил:
Код: Выделить всё
output:
time value
0hr 10
96hr 50
72hr 30
128hr 20
48hr 40
Аналогично np. argsort, в документации index_natsorted говорится, что он «естественно сортирует последовательность, но возвращает список отсортированных индексов, а не сам отсортированный список». Поэтому мне любопытно, почему в этом случае возвращаемые индексы не будут сортировать элементы естественным образом.
Подробнее здесь: https://stackoverflow.com/questions/790 ... tural-sort