Есть несколько вариантов в зависимости от того, что вам нужно.
Вариант 1
Вы можете использовать sort_values
для сортировки в виде строк:
df.columns = df.columns.sort_values()
Обратите внимание, это означает, что «10» появится до «2».
Вариант 2
Если вы хотите преобразовать в целые числа, а затем отсортировать:
df.columns = df.columns.astype(int).sort_values()
Вариант 3
Если вы хотите сохранить как строку, но порядок по целому числу:
df.columns = df.columns.astype(int).sort_values().astype(str)
Возможен также чистый подход Python:
df.columns = sorted(df, key=int)