Очистка, обработка и анализ данных
Привет, как дела?
Во второй части проекта данных я расскажу об очистке и обработке данных, собранных с помощью парсинга, как показано в первой статье.
Для выполнения этой задачи мы будем использовать библиотеку Pandas в блокноте JupyterLab. Стоит отметить, что все три этапа данной работы разрабатывались в JupyterLab.
Понимание данных
- Импорт данных и Dataframe.
2. Проверка количества и разнообразия данных в каждом столбце.
Наблюдая за результатами, полученными с помощью метода info(), мы обнаружили, что в кадре данных имеется 23642 строки и что в некоторых столбцах, таких как Fatalities и Location, отсутствуют значения, и что все данные имеют тип «объект».
С помощью метода description() мы обнаружили, что в наборе данных зарегистрировано 3133 различных типа самолетов из 233 стран, которые участвовали в авариях, произошедших в 14319 различных местах за указанный период. Кроме того, существует 11 различных категорий несчастных случаев, которые будут рассмотрены далее в этой статье.
Интересный факт: дата с наибольшим количеством аварий в Dataframe — 10 мая 1940 года, всего 171 авария. После быстрого анализа выяснилось, что в наборе данных могут быть повторяющиеся строки, что потребует их удаления. Однако именно тогда аналитику данных необходимо иметь более широкое представление и более глубокое любопытство к предмету, над которым он работает. Беглый поиск в сети показал, что 10 мая 1940 года Германия начала крупное наступление на Францию, Бельгию, Люксембург и Нидерланды, в результате чего, по данным Википедии, в ходе конфликта было потеряно более 3000 самолетов. Следовательно, это не совсем случай повторяющихся строк.
Обработка данных
- Преобразование столбца Date в Datetime.
2. Проверка количества пустых элементов в каждом столбце.
3. Удаление строк, содержащих нулевые элементы, и проверка общего количества строк в кадре данных после процесса удаления.
4. Снова проверьте, сколько нулевых элементов существует в кадре данных.
5. Наблюдая за Dataframe, мы замечаем, что во многих строках количество погибших в результате аварии делится на два числа.
Это бывает при авариях, когда были пострадавшие на земле, поэтому первая цифра указывает на количество пострадавших в самолете (пассажиров и членов экипажа), а вторая цифра указывает на количество пострадавших, которых не было в самолете.
Ярким примером являются теракты 11 сентября 2001 года.
- Первый ряд представляет атаку на первую башню Всемирного торгового центра. В столбце Fatalities отображается количество погибших в самолете (92), а также количество пострадавших в здании и его окрестностях (1600).
- Второй ряд представляет атаку на вторую башню. В самолете погибло 65 человек, в башне и ее окрестностях — 900 человек.
- Третий ряд представляет собой самолет, который разбился, не долетев до цели, Капитолия. На земле пострадавших нет.
- Наконец, четвертый ряд представляет собой нападение на Пентагон, когда 64 человека погибли в самолете и 125 в здании Пентагона.
В этом конкретном проекте цель состоит в том, чтобы изучить общее количество жертв на одну аварию, поэтому необходимо объединить отдельные данные.
Во-первых, нам нужно выяснить, сколько строк содержит отдельные данные о смертельных исходах.
Теперь давайте объединим разделенные данные.
Теперь данные суммируются.
6. Наблюдая за названиями стран, где произошли аварии, можно заметить, что некоторые из них имеют html-символ «&», полученный в процессе очистки данных. Кроме того, некоторые страны называются своими аббревиатурами или как «Неизвестная страна», в то время как другие имеют аббревиатуры или называются с «?».
Те, что названы «?» и «Неизвестная страна» необходимо удалить. Во-первых, мы проверяем, сколько строк имеют эти обозначения для страны.
Теперь строки будут удалены.
Намерение состоит в том, чтобы отображать имена полностью, и, поскольку их немного (всего 30), для их исправления был создан словарь с текущим именем и полным именем.
И с помощью этого словаря поправили имена в Dataframe.
7. Наконец, индекс будет переименован, чтобы строки располагались последовательно.
Это последний этап обработки данных. Столбец «Регистрация», даже если он содержит пустые значения, такие как в первой строке, не будет исправлен, так как он не будет использоваться на панели инструментов.
Изучение данных
Это, несомненно, самый длительный этап процесса. Возможности изучения данных огромны, и если у вас нет представления о том, что вы ищете, вы можете часами анализировать Dataframe и всю информацию, которую можно извлечь из него. Не то чтобы это неприятное занятие; напротив, для тех, кто, как и я, хочет и хочет найти ценную информацию, это может быть очень приятно. Однако, поскольку времени у большинства из нас становится все меньше, всегда полезно иметь представление о том, что вы хотите найти в наборе данных.
Чтобы не делать эту статью слишком обширной, я сосредоточусь на информации, которую намереваюсь изучить при построении информационной панели.
На панели инструментов будет отображаться информация по странам или регионам, а также интересующие темы:
- Общее количество аварий
- Операторы с наибольшим количеством аварий
- Места с наибольшим количеством аварий
- Деление по количеству погибших
- Общее количество аварий в год
- Временное распределение аварий по количеству погибших
Чтобы проиллюстрировать поиск, я приведу данные по одной стране, Соединенным Штатам, исключительно потому, что в ней больше всего зарегистрированных несчастных случаев и самый большой разброс в числе погибших.
Общее количество аварий:
Операторы с наибольшим количеством аварий:
Места с наибольшим количеством аварий:
Деление по количеству погибших:
Общее количество аварий в год:
Временное распределение аварий по количеству погибших:
На приведенном выше графике выбросы в наборе данных очень очевидны. Эти выбросы относятся к авариям 11 сентября 2001 г.
Ниже представлен сегмент всего периода без выбросов.
Это резюме поиска информации в анализе этого проекта. Полученные результаты позволяют сформулировать различные вопросы и запросы по теме и глубже вникнуть в различные изучаемые аспекты.
Если вы не читали первую часть проекта, посвященную очистке данных, которая анализируется здесь, перейдите на страницу ниже.
В следующей части проекта мы увидим, как создать интерактивную и визуально привлекательную информационную панель с информацией, полученной в ходе этого анализа.
Спасибо за чтение.
До скорой встречи!