Data Science Academy · Урок

Часовые пояса и диапазоны дат

Настройка местного времени и создание дат

Урок 4 из 413 шагов

«Часовые пояса и диапазоны дат» — бесплатный урок Data Science Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Data Science Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Data Science Academy содержит 4 уроков всего.

У времени есть место

9 утра в Токио — не то же самое, что 9 утра в Лондоне. Реальным временным меткам нужен часовой пояс, чтобы везде обозначать один и тот же момент. 🌍

Наивное и осведомлённое время

Временная метка без часового пояса называется наивной. Метка, которая знает свой часовой пояс, называется осведомлённой. Смешивание этих типов приводит к незаметным и очень неприятным ошибкам.

ts = pd.Timestamp("2024-03-15 09:00")
print(ts.tz)  # None means naive

Укажите часовой пояс

Используйте tz_localize, чтобы указать наивному времени его настоящий часовой пояс. Так Вы сообщаете, где именно были сняты показания часов.

ts = ts.tz_localize("Asia/Tokyo")

Преобразование между часовыми поясами

После указания часового пояса переключайтесь между поясами с помощью tz_convert. Сам момент времени остаётся неизменным — меняются только показания часов.

ts.tz_convert("Europe/London")

Сначала локализуйте, затем преобразуйте

Правильный порядок таков: сначала локализуйте время, затем преобразуйте его. tz_localize задаёт исходный часовой пояс, а tz_convert выполняет преобразование. Никогда не преобразуйте наивное значение.

s.dt.tz_localize("UTC").dt.tz_convert("US/Eastern")

UTC — Ваша точка отсчёта

Храните данные в формате UTC, а преобразуйте их только при отображении. Это устраняет путаницу и полностью избавляет от проблем, связанных с переходом на летнее время.

pd.to_datetime(df["ts"], utc=True)

Создайте диапазон дат

Нужна последовательность дат без пропусков? date_range создаёт её по началу, концу и частоте одним вызовом.

pd.date_range("2024-01-01", "2024-01-07")

Задайте частоту

Аргумент freq задаёт интервал: "D" — ежедневно, "h" — ежечасно, "ME" — конец месяца. Это те же правила, которые Вы использовали для resample.

pd.date_range("2024-01-01", periods=12, freq="ME")

Задайте количество вместо конца

Не указывайте конечную дату, а передайте periods, чтобы получить ровно заданное число шагов. Это удобно, когда известно количество элементов, но не известна конечная дата.

pd.date_range("2024-01-01", periods=30, freq="D")

Диапазоны как индекс

Диапазон дат идеально подходит как индекс для полного временного ряда: он показывает пропущенные дни, которые затем можно заполнить или пометить.

df = df.reindex(pd.date_range("2024-01-01", periods=31))

Быстро создавайте признаки дат

Объедините date_range с доступом dt, чтобы создавать календари, заполнять пропуски или обозначать каждый день в прогнозируемом периоде.

pd.date_range("2024-01-01", periods=7).day_name()

Быстрая проверка

У Вас есть наивная временная метка, и Вы хотите показать её в другом часовом поясе.

Итоги: часовые пояса и диапазоны

Вы правильно локализовали и преобразовали часовые пояса, использовали UTC как точку отсчёта и создали аккуратные календари с помощью date_range. ⏰

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Часовые пояса и диапазоны дат» бесплатный?

Да — полный текст урока «Часовые пояса и диапазоны дат» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Data Science Academy, подпишись на CoddyKit PRO. Курс Data Science Academy содержит 4 уроков всего.

Чему я научусь в уроке «Часовые пояса и диапазоны дат»?

Настройка местного времени и создание дат Ты практикуешь Data Science Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Data Science Academy?

Предыдущий опыт не требуется. Data Science Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Часовые пояса и диапазоны дат»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Data Science Academy?

Да. Каждый урок Data Science Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Преобразование строк в даты и время
  2. Извлечение года, месяца и дня недели
  3. Изменение частоты до дневной или месячной
  4. Часовые пояса и диапазоны дат
← Назад к Data Science Academy