Python: номер недели в каждом квартале от даты pandas

#python #pandas #date

#python #pandas #Дата

Вопрос:

Я пытаюсь получить номер недели в каждом квартале (1-13) на основе даты.

в качестве примера: ‘2016-12-29’ -> 13

Есть ли простой способ получить это?

Ответ №1:

Да, вот пример:

 df = pd.DataFrame({'date': ['2020-12-12']})
df['date'] = pd.to_datetime(df['date'])
df['week_no'] = ((df['date'].dt.isocalendar().week - 1 ) % 13   1)
 

Сначала вы форматируете данные как ‘datetime’. Затем вы смотрите на неделю, вычитаете 1, затем принимаете по модулю 13, затем добавляете обратно 1.

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

1. Спасибо, используя решение и данные «2020-12-29», я получаю week_no -> 2… то, что я хочу иметь на эту дату, равно 13

2. ну, я думаю, что главная проблема здесь в том, что в 2020 году больше 52 недель! 2020-12-29 — это 53-я неделя года, поэтому выбранная вами система нумерации на самом деле не работает.