У меня есть .csv данные, которые я хочу отсортировать по столбцу даты. Мой формат даты имеет следующий вид:Сортировка по дате в pandas - Python 2.7
Неделя, квартал, год: Так WK01Q12001
например.
Когда я .sort() мой dataframe на этой колонке, результирующая сортируется как:
WK01Q12001, WK01Q12002, WK01Q12003, WK01Q22001, WK01Q22002, WK01Q22003, ... WK02Q12001, WK02Q12002...
, например. Это имеет смысл, потому что он сортирует строку в порядке возрастания.
Но мне нужно мои данные сортируются в хронологическом порядке, так что результат, как следующее:
WK01Q12001, WK02Q12001, WK03Q12001, WK04Q12001, ... , WK01Q22001, WK02Q22001, ... WK01Q12002, WK02Q22002 ...
Как я могу сортировать это таким образом, используя панда? Возможно, сортировка строки в обратном порядке? (справа налево) или создания какого-либо объекта datetime?
Я также попытался с помощью Series()
: pd.Series([pd.to_datetime(d) for d in weeklyData['Date']])
Но результат такой же, как выше .sort()
метода.
ОБНОВЛЕНИЕ: My DataFrame похож на формат листа excel и в настоящее время выглядит следующим образом. Я хочу сортировать хронологически по «Дате».
Date Price Volume
WK01Q12001 32 500
WK01Q12002 43 400
WK01Q12003 55 300
WK01Q12004 58 350
WK01Q22001 33 480
WK01Q22002 40 450
.
.
.
WK13Q42004 60 400
Я не был уверен, что это будет работать с серией Pandas, но я просто попытался сделать серию со списками, разбитыми таким образом, и это сработало просто отлично. –
Что такое 'date'? это мой объект DataFrame? Пожалуйста, см. Выше ОБНОВЛЕНИЕ по моему вопросу.Я получаю ошибку типа при попытке этого: «TypeError: ожидаемая строка или буфер» Спасибо! – brno792
Аналогично, когда я пытаюсь использовать 're.match (r" (WK \ d {2}) (Q \ d) (\ d {4}) ", dataframeobj ['date'])', я получаю размер буфера ошибка несоответствия. – brno792