Код: Выделить всё
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