сортировка столбцов даты и времени pandas

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

У меня есть таблица фреймов данных, в которой есть столбцы, содержащие информацию о дате и времени. Как вы можете видеть из приведенной ниже таблицы, поле 2019-xx находится между 2018 и 2016 годами, поэтому мне нужно правильно его упорядочить.

Я пытался использовать .sort_index(axis=1, inplace=True) , но тщетно (я не знаю, почему это вообще не имеет никакого эффекта).

Фрейм данных:

                       2017-12-31   2018-12-31  2019-12-31   2016-12-31  2020-06-30
Unnamed: 0
WaterFlow   -26084000.0 -257404000.0 -84066000.0  135075000.0         NaN
trailing1HourWaterFlow         NaN          NaN -84066000.0          NaN   6823000.0
  
  • Проблема в том, что:
    1. Я не знаю, как упорядочить порядок столбцов, когда он представлен как информация о дате и времени.
    2. Приведенная выше таблица кажется странной, поскольку эта "Unnamed: 0" строка пуста, а между столбцами и строками есть пробел, в отличие от других обычных фреймов данных.

Комментарии:

1. Что такое print (df.info()) ?

Ответ №1:

Я думаю, вам нужно преобразовать столбцы в datetimes, а затем выполнить сортировку. Если Unnamed: 0 это имя индекса, вы можете удалить его с помощью DataFrame.rename_axis :

 df.columns = pd.to_datetime(df.columns)
df = df.sort_index(axis=1).rename_axis(None)
  

Комментарии:

1. Большое спасибо за решение! Это, наконец, решило мою проблему, еще раз спасибо.