#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
- Проблема в том, что:
- Я не знаю, как упорядочить порядок столбцов, когда он представлен как информация о дате и времени.
- Приведенная выше таблица кажется странной, поскольку эта
"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. Большое спасибо за решение! Это, наконец, решило мою проблему, еще раз спасибо.