Часовые пояса и диапазоны дат
Настройка местного времени и создание дат
«Часовые пояса и диапазоны дат» — бесплатный урок 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 — локальная установка не требуется.
Все уроки этого курса
- Преобразование строк в даты и время
- Извлечение года, месяца и дня недели
- Изменение частоты до дневной или месячной
- Часовые пояса и диапазоны дат