← К оглавлению занятия

📖 Теория

📁 Блок: SQL / SQLite / Практикум ⏱️ Время изучения: ~90 мин 🎯 Сложность: Практикум

⚡ Кратко: суть занятия

Практикум 13 закрепляет связку Colab → pandas → SQLite → SQL-запрос.

Источник просит создать таблицу погоды за последние 7 дней и включить дату, дневную и ночную температуру, световой день, ветер, влажность и давление.

В коде лучше использовать английские имена столбцов: date, day_temp_c, night_temp_c, humidity_pct и другие.

После создания weather_df таблица записывается в SQLite через to_sql('weather', conn, if_exists='replace', index=False).

Минимальные запросы практикума: все строки, последние 3 дня, средняя ночная температура, день с максимальной влажностью.

Для последних 3 дней используется ORDER BY date DESC LIMIT 3, потому что в таблице есть 7 дат.

Топ-3 ошибки: не отсортировать даты перед LIMIT, оставить пробелы/кириллицу в SQL-именах, забыть закрыть подключение.

Что отрабатывает практикум

Практикум строится вокруг одного набора данных: погода в вашем городе за 7 дней. Главное — не сами значения, а полный цикл работы с данными.

  1. Собрать данные в DataFrame.
  2. Записать таблицу в SQLite.
  3. Проверить таблицу через SQL.
  4. Получить аналитические ответы: последние дни, среднее, максимум.

Имена столбцов

Источник перечисляет русские названия столбцов. В SQL-коде курса используем английские имена без пробелов: так меньше проблем с кавычками и переносимостью.

Смысл из источникаИмя в коде
Датаdate
Температура днёмday_temp_c
Температура ночьюnight_temp_c
Продолжительность светового дняdaylight_hours
Скорость ветраwind_speed_m_s
Влажностьhumidity_pct
Атмосферное давлениеpressure_mm_hg

Почему запросы именно такие

ORDER BY date DESC LIMIT 3 сначала ставит самые поздние даты наверх, а потом берёт три строки. Если оставить только LIMIT 3, SQLite вернёт первые три строки в текущем порядке таблицы, а не обязательно последние даты.