Сортировка не работает для длинного списка столбцов для фрейма данных в python

#python #pandas #dataframe #csv #sorting

#python #pandas #фрейм данных #csv #сортировка

Вопрос:

У меня есть фрейм данных с общим количеством столбцов 3000, имеющих имена заголовков в виде чисел, кроме первого столбца, который является строкой. Все это повторяющиеся столбцы с одинаковыми значениями. Текущий порядок i:

    First, 0, 1, 2, 3,....3000, 0, 1, 2, 3,....,3000, 0, 1, 2, 3,...,3000, 0, 1, 2, 3,....,3000
  

Я хочу, чтобы они были отсортированы следующим образом:

  First, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3,....,3000, 3000, 3000, 3000
  

Все значения одинаковы для этих повторяющихся столбцов. Я попробовал df = df.sort_index() на оси 1 и аналогично, df[sorted(df.columns)], но они дают другой порядок сортировки, а не то, что мне нужно.

Любая помощь?

Ответ №1:

Преобразовать First в индекс, все остальные столбцы в целые числа, сортировка и последнее преобразование First в столбец:

 df = df.set_index('First').rename(columns=int).sort_index(axis=1).reset_index()