У меня есть данные с пониженной частотой значений Open / High / Low / Last / Change / Volume для ценной бумаги за десять лет.
Я пытаюсь получить еженедельное количество выборок, т. Е. Сколько выборок было выполнено моим методом пониженной выборки, в данном случае на шкале громкости, выборка в неделю по всему набору данных, чтобы я мог построить ее и сравнить с другими методами понижающей выборки.
До сих пор я пытался создать серию в df под названием «Год-неделя», следуя инструкциям здесь и здесь .
Проблема с этими ответами состоит в том, что мои даты EOY, такие как «1997-12-30», преобразуются в «1997-01» из-за системы календаря ISO, используемой, как описано в этом ответе, что нарушает мои результаты когда я применяю метод value_counts
.
Мой код следующий:
volumeBar['Year/Week'] = (pd.Series(volumeBar.index).dt.year.astype(str) + "/" + pd.Series(volumeBar.index).dt.week.astype(str)).values
Итак, мой вопрос: в таком виде следующий пример DateTimeIndex
Date
1997-12-22
1997-12-29
1997-12-30
становится
Year/Week
1997/52
1997/1
1997/1
Как я мог получить следующий ожидаемый результат?
Year/Week
1997/52
1997/52
1997/52
Имейте в виду, что я не могу вручную исправить это поведение из-за размера набора данных и ошибочного характера этих появляющихся результатов из-за работы календаря ISO.
Большое спасибо заранее!