Как получить номер недели из даты
Имею датафрейм Необходимо получить номер недели для каждой даты, для того что бы обнаружить какие ученики пропускали недели. использую метод strftime(«%V»), получаю номер недели в году, но в 2021 недели обнуляются. Для этого прибавляю для 2021 года 53, но почему-то у некоторых недель 2020 года значение 106
df.lesson_day_x = df.lesson_day_x.apply(lambda x: int(x.strftime("%V")) if x.strftime("%Y")=='2020' else int(x.strftime("%V")) +53)
Но почему-то некоторые значения в 2020 году становиться равны 106. Подскажите, почему некоторые значения равны 106? Как лучше отправлять ссылки на csv, что бы можно было открыть read_csv?
Отслеживать
24.8k 4 4 золотых знака 20 20 серебряных знаков 36 36 бронзовых знаков
Модуль datetime
Модуль datetime предоставляет классы для обработки времени и даты разными способами. Поддерживается и стандартный способ представления времени, однако больший упор сделан на простоту манипулирования датой, временем и их частями.
Классы, предоставляемые модулем datetime:
Класс datetime.date(year, month, day) — стандартная дата. Атрибуты: year, month, day. Неизменяемый объект.
Класс datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None) — стандартное время, не зависит от даты. Атрибуты: hour, minute, second, microsecond, tzinfo.
Класс datetime.timedelta — разница между двумя моментами времени, с точностью до микросекунд.
Класс datetime.tzinfo — абстрактный базовый класс для информации о временной зоне (например, для учета часового пояса и / или летнего времени).
Класс datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None) — комбинация даты и времени.
- datetime.MINYEAR (1) ≤ year ≤ datetime.MAXYEAR (9999)
- 1 ≤ month ≤ 12
- 1 ≤ day ≤ количество дней в данном месяце и году
Методы класса datetime:
datetime.today() — объект datetime из текущей даты и времени. Работает также, как и datetime.now() со значением tz=None.
datetime.fromtimestamp(timestamp) — дата из стандартного представления времени.
datetime.fromordinal(ordinal) — дата из числа, представляющего собой количество дней, прошедших с 01.01.1970.
datetime.now(tz=None) — объект datetime из текущей даты и времени.
datetime.combine(date, time) — объект datetime из комбинации объектов date и time.
datetime.strptime(date_string, format) — преобразует строку в datetime (так же, как и функция strptime из модуля time).
datetime.strftime(format) — см. функцию strftime из модуля time.
datetime.date() — объект даты (с отсечением времени).
datetime.time() — объект времени (с отсечением даты).
datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) — возвращает новый объект datetime с изменёнными атрибутами.
datetime.timetuple() — возвращает struct_time из datetime.
datetime.toordinal() — количество дней, прошедших с 01.01.1970.
datetime.timestamp() — возвращает время в секундах с начала эпохи.
datetime.weekday() — день недели в виде числа, понедельник — 0, воскресенье — 6.
datetime.isoweekday() — день недели в виде числа, понедельник — 1, воскресенье — 7.
datetime.isocalendar() — кортеж (год в формате ISO, ISO номер недели, ISO день недели).
datetime.isoformat(sep=’T’) — красивая строка вида «YYYY-MM-DDTHH:MM:SS.mmmmmm» или, если microsecond == 0, «YYYY-MM-DDTHH:MM:SS»
datetime.ctime() — см. ctime() из модуля time.
Пример работы с классом datetime:
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте