#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-я неделя года, поэтому выбранная вами система нумерации на самом деле не работает.