Сортировка колонок в Pandas.DataFrame
Есть датафрейм вот с такими именами колонок:
columns = [
'10', '10!', '10*', '10**',
'2', '2!', '2*',
'3', '3!', '3*', '3**',
'4', '4!', '4*', '4**',
'5', '5!', '5*', '5**',
'6', '6!', '6*', '6**',
'7', '7!', '7*', '7**',
'8', '8!', '8*', '8**',
'9', '9!', '9*', '9**'
]
Имена колонок - строки. Отсортированы по алфавиту, как строки.
Есть ли способ отсортировать колонки датафрейма по порядку цифр в начале строк?
Вот так:
columns = [
'2', '2!', '2*',
'3', '3!', '3*', '3**',
'4', '4!', '4*', '4**',
'5', '5!', '5*', '5**',
'6', '6!', '6*', '6**',
'7', '7!', '7*', '7**',
'8', '8!', '8*', '8**',
'9', '9!', '9*', '9**',
'10', '10!', '10*', '10**'
]
Ответы (1 шт):
Автор решения: Voko
→ Ссылка
Помог первый комментарий к вопросу.
Полное решение:
df = df[sorted(df.columns, key=lambda x: int(x.strip('!*')))]