Упорядочение по дате в Pandas

#pandas

Вопрос:

У меня есть следующий столбец в файле csv. Как я могу упорядочить весь фрейм данных от самого старого к самому новому. В настоящее время у меня есть следующий код: po_dataset.sort_values(«дата», по возрастанию = True), но я не получаю правильный порядок.

 Date
12/12/2020
14/11/2020
28/11/2020
 

Ответ №1:

Сначала преобразуйте значения в date столбце в datetime объекты, например:

 po_dataset["date"] = pd.to_datetime(po_dataset["date"], format="%d/%m/%Y")
 

Вы можете увидеть полный список различных % форматов здесь.

Затем отсортируйте их:

 po_dataset.sort_values("date", ascending=True)
 

Ответ №2:

Преобразуйте дату (строки) в тип datetime:

 df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
 

затем вы можете отсортировать значения. Если вы не хотите изменять свой тип данных (что не рекомендуется), преобразуйте даты во временный ряд и переиндексируйте:

 df.loc[pd.to_datetime(df['Date'], dayfirst=True).sort_values().index]
 

Вывод:

          Date
1  14/11/2020
2  28/11/2020
0  12/12/2020