Вводная часть. О проекте
Погода - неотъемлемый атрибут ежедневной жизни каждого из нас. Знание (или наоборот, незнание) погоды может очень сильно повлиять на наши планы. Если пойдёт дождь, а вы не взяли с собой зонтик в дорогу, вы, скорее всего, намокнете. А выйдя на жаркое солнце без солнцезащитного крема - рискуете обгореть и получить солнечный удар. Прогноз погоды помогает нам предсказывать погодные условия, тем самым избегая неприятностей. Да, иногда он бывает не самым точным, но, если знать какие-то основные принципы возникновения тех или иных погодных условий (например, самое базовое - зимой холодно, летом жарко), можно увидеть особую тенденцию.
Это меня в данной теме и заинтересовало. Мне захотелось посмотреть, какой же была погода за последние десять лет в каком-нибудь городе. В частности, в моём проекте выбор пал на Москву, потому что это очень значимый для меня город. В этом исследовании меня интересовали такие вопросы как, например, в каком месяце больше всего солнечных дней в Москве? В каком месяце обычно выпадает больше всего осадков? Каково среднее соотношение тёплых и холодных дней за год? И прочее. Также, я могу попробовать "предсказать" будущее - какой станет погода? Действительно ли происходит глобальное потепление или всё это неправда?
Итак, подытожу: в качестве данных для своего проекта я решила выбрать тему о погоде в Москве, столице России. Погодные данные я брала за последние 10 лет.
Этапы работы
В первую очередь, я создала обложку для проекта. Для её создания я воспользовалась нейросетью Шедеврум.
Промпт для Шедеврума: "Мне нужна картинка вертикального формата. На картинке изображено голубое небо, которое занимает пространство всего изображения. На небе видно несколько белых облачков, но их немного. Ярко светит солнце. Солнце с точки зрения композиции расположено в верней части изображения, справа от центра изображения. На изображении видны артефакты в виде солнечных лучей. На изображении нет никаких людей."
Далее я начала собирать необходимые для анализа данные из открытых источников. Свои данные я получила из сервиса Gismeteo.ru и сохранила их в csv файле. Мой датасет имеет большое количество данных, на основе которых можно построить интересные графики, что я и собираюсь сделать.
Потом я подумала о том, как можно было бы стилизовать мои будущие графики. Я посчитала, что можно изобразить их с особым шрифтом и палитрой цветов, которые бы ассоциировались с темой моего проекта.
Шрифт текста на графиках я выбрала следующий - Comic Sans. Также я выбрала основные цвета для графиков - #3B94D5, #81D4FF, #DCDCDC, #FFFFFF, #000000. При выборе визуального стиля, я опиралась на цвета, связанные с различными погодными условиями. Основной цвет палитры, голубой, очень часто ассоциируется с погодными сервисами, ведь это цвет неба. Выбор шрифта Comic Sans MS связан с тем, что его легко читать, он приятен взгляду и он красиво смотрится на графиках.
Типографику я нашла на сервисе MyFonts.ru. Палитру цветов создала с помощью Gradients.app.
Палитра
Далее, я приступила к написанию кода в блокноте Google Collab, параллельно подгрузив туда файл с моим датасетом и файл с нужным мне шрифтом. Для анализа датасета и дальнейшего построения графиков я использовала AI companion Copilot от Microsoft. Вот промпт, который я ему отправила:
"У меня есть датасет в формате csv файла, в котором содержатся данные о погоде и погодных явлениях, собранных с метеостанций г. Москвы.
Сет данных:
Дата | Страна | Область | Город | Температура (день) | Давление (день) | Облачность (день) | Явления (день) | Направление ветра (день) | Скорость ветра (день), м/с | Температура (вечер) | Давление (вечер) | Облачность (вечер) | Явления (вечер) | Направление ветра (вечер) | Скорость ветра (вечер), м/с
Мне нужно считать датасет из локального файла csv.
Для анализа подключи библиотеку pandas, библиотеку matplotlib для построения диаграмм.
Для графиков я хочу использовать шрифт Comic Sans MS из локальной папки.
Сделай мне справочник палитр цвета для использования на диаграммах. Голубой: #3B94D5 Светло голубой: #81D4FF Серый: #DCDCDC Белый: #FFFFFF Черный: #000000
После чтения датасета, создай программный каркас для 5 блоков анализа и построения диаграмм:
- Столбчатая диаграмма. Среднее количество солнечных дней по месяцам.
- Столбчатая диаграмма. Самый дождливый месяц в среднем (в каком месяце обычно выпадает больше всего осадков).
- Круговая диаграмма. Соотношение тёплых дней (выше 0) и холодных дней (ниже 0) в среднем за год.
- Линейный график. Тренд глобального потепления с 2013 по 2023 год.
- Линейный график. Прогноз достижения критического уровня температуры с указанием года. Уровень критической среднегодовой температуры установи в 30 градусов Цельсия.
Для расчета блоков 4 и 5 подключай необходимые библиотеки для вычисления трендов и прогнозов.
Вычисления реализуй блоками и помести в единую функцию запуска, которую можно будет использовать в других проектах.
При построении графиков используй цвета из моей палитры и оставь переменные для кастомизации цветов и настроек диаграмм."
Фрагмент кода. Начало
CoPilot выдал мне каркас программного кода, в который я внесла необходимые мне изменения, связанные с настройкой графиков (цвета, изменения внешнего вида, корректировка подписей и названий графиков).
Итоговые графики
В моём проекте в большинстве своём я использовала столбчатые диаграммы и линейные графики. Также у меня есть круговая диаграмма. На мой взгляд, эти типы графиков лучше всего работают на визуализацию. Столбчатые диаграммы хороши для сравнения множественных параметров. А круговые диаграммы лучше работают с процентным соотношением - ты представляешь, что все рассматриваемые параметры находятся как бы на одной тарелке. Линейные графики хороши, чтобы отслеживать те или иные тенденции.
График 1. Среднее количество солнечных дней по месяцам в Москве
Столбчатая диаграмма
Фрагмент кода
График 2. Самый дождливый месяц (в среднем) в Москве
Столбчатая диаграмма
Фрагмент кода
График 3. Соотношение теплых дней (выше 0) и холодных дней (ниже 0) в среднем за год в Москве
Круговая диаграмма
Фрагмент кода
График 4. Тренд глобального потепления в Москве
Линейный график
Фрагмент кода
Для составления четвёртого (на картинке выше) и пятого (на картинке ниже, далее) графиков CoPilot предложил использовать библиотеку линейной регрессии для построения трендов и прогнозов.
График 5. Прогноз достижения критического уровня температуры в Москве
Линейный график




