Например, сколько дней длилась самая длинная волна тепла?

Контекст решает все. Почему это полезно?

Как аналитик, вы можете изучить такие нюансы, как последовательность, чтобы понять основные причины или удалить выбросы в данных.

Тема, которая вдохновила эту статью, — погода. В 2022 году температура в Портленде, штат Орегон, была умеренной по сравнению со многими рекордными волнами тепла в других частях мира или даже в Портленде в предыдущем году.

Однако, несмотря на то, что 2022 год может быть мягким по сравнению с рекордно жарким 2021 годом, год казался жарким. Возможно, несколько дней подряд жаркой погоды повлияли на мое восприятие? Давайте посчитаем полосы жарких дней (также известные как волны жары) с помощью Python, чтобы проанализировать это предположение.

Данные о погоде в США

В предыдущей статье я писал об источнике общедоступных данных, который я собираюсь использовать, из Национальных центров экологической информации (NCEI). Пожалуйста, прочитайте эту статью для получения более подробной информации о том, как получить доступ к данным, и посетите NCEI, чтобы узнать больше о NCEI и миссии Национальной службы экологических спутников, данных и информации (NESDIS).



В этой статье основное внимание будет уделено TMAX, максимальной наблюдаемой дневной температуре на определенных метеостанциях. Данные по Портленду, штат Орегон, и мой исследовательский анализ данных доступны на GitHub.

Следующий фрейм данных был создан для этого анализа и содержит логические поля True/False, которые указывают, была ли температура не менее 80 градусов, не менее 90 градусов или не менее 100 градусов по Фаренгейту.

Несколько дней подряд с температурой выше 90 градусов по Фаренгейту

Вычисление последовательных вхождений не так просто, как может показаться. Для получения решения требуется несколько вычислений, и разработка алгоритма, который может работать с многолетними данными, не является тривиальной задачей.

Однако есть пакеты, которые сокращают количество функций, которые необходимо написать для этого алгоритма. Пакет itertools.groupby() для Python был для меня самым простым методом реализации этого анализа.

Сначала импортируйте функцию groupby() из пакета itertools.

from itertools import groupby

Затем определите функцию, которая принимает в качестве параметра список точек данных за год, а затем возвращает список.

Каждый элемент в этом возвращаемом списке содержит длину каждой волны тепла в этом году. Например, если порог, который мы установили для тепла, составляет 90 градусов по Фаренгейту, то список из четырех элементов, таких как [1, 5, 1, 2] для данного года, будет означать, что в этом году было четыре волны тепла. Первая волна содержала 1 день с максимальной температурой 90 градусов или выше. Вторая волна содержала 5 дней подряд выше 90 градусов. И так далее.

  • Первая волна содержала 1 день с максимальной температурой 90 градусов или выше. Вторая волна содержала 5 дней подряд выше 90 градусов. И так далее.

Затем напишите еще одну функцию, чтобы сделать следующее:

  1. Определите самую длинную волну тепла для каждого года, используя функцию, определенную выше.
  2. Перебирать каждый год во фрейме данных
  3. Возвращает кадр данных о самой длинной 90-градусной жаре (в днях) за каждый год.

Аналогичная функция написана для 80 градусов и 100 градусов, чтобы получить сравнения.

Анализ результатов

Прежде чем рассматривать самые длинные волны тепла в каждом году, давайте проверим общее количество дней тепла в году.

Действительно, 2021 год был жарким! Было 90 дней при температуре 80 градусов или выше, больше всего в истории человечества. Количество 100 градусо-дней и 90 градусо-дней также описывает год как один из самых жарких за всю историю наблюдений.

После того, как в конце лета была написана первоначальная версия этой статьи, в октябре в Портленде было зафиксировано рекордное количество дней с температурой 80 градусов – двенадцать. В противном случае в 2021 году было бы еще около двадцати 80-градусных дней.

На следующем графике показаны самые длинные волны тепла до 2022 года.

Для 80 градусов+

  • Самая длинная волна жары за всю историю наблюдений (21 день) случилась в 1985 году.
  • 2022 занял 27 место с 10 днями
  • 2021 занял 11-е место с 13 днями

Для 90 градусов+

  • Самая длинная волна жары за всю историю наблюдений (8 дней) случилась в 2009 году.
  • 2022 занял 2 место с 7 днями
  • 2021 занял 5-е место с 6 днями

Для 100 градусов+

  • Самые длинные периоды жары за всю историю наблюдений (4 дня) были в 1941 и 1981 годах.
  • 2022 занял 7-е место с 2 днями
  • 2021 занял 4-е место с 3 днями

Вывод: моя гипотеза неверна

Хотя этот анализ не включал экспериментальный план для статистической значимости, сводка волн тепла за два года уже указывает на то, что недавняя память повлияла на мое мнение о жарком лете 2022 года.

Я нашел несколько интересных тенденций:

  • В 2021 году было больше периодов похолодания по сравнению с другими самыми жаркими годами. Вот почему общее количество дней жары не привело к самой длинной волне жары за всю историю наблюдений.
  • Последовательные полосы дней жары кажутся циклическими. Последний год (2022) находится в нижней части цикла.
  • Существует тенденция к увеличению числа дней с жаркой погодой каждый год, но эта тенденция менее очевидна в отношении периодов сильной жары.

Последнее обновление 2022 г. — декабрь: добавлено изображение статьи, обновлены диаграммы с данными за сентябрь и октябрь, а также небольшие изменения для удобства чтения.

Если вам понравилась эта статья и вы хотели бы читать (и писать) больше подобных статей, рассмотрите возможность нажатия кнопки Подписаться рядом с изображением моего профиля и/или подписки на членство в среде, используя мою реферальную ссылку: https://sabolch-horvat.medium.com/membership