Если необходимо присвоить обратно отсортированный столбец, необходимо преобразовать вывод в массив numpy для предотвращения выравнивания индекса - это означает, что если используется только df.sort_values('col1')['col1']
, то сортировка выполняется правильно, порядок индекса изменяется, но на шаге назначения происходит изменение порядка, аналогичного исходному, так что без изменений в порядке значений.
df['col1'] = df.sort_values('col1')['col1'].to_numpy()
Если индекс по умолчанию, другой идеей является создание индекса по умолчанию (аналогично оригиналу), поэтому выравнивание выравнивается по новым значениям индекса:
df['col1'] = df.sort_values('col1')['col1'].reset_index(drop=True)
Если хотите отсортировать по столбцу col1
:
df = df.sort_values('col1')