Skip to content
PYGWALKER
Tutoriais
Visualização de Dados de Acidentes Aéreos com PyGWalker

Visualização de Dados de Acidentes Aéreos com PyGWalker

Visualização de Dados de Acidentes Aéreos

Na era da aviação moderna, entender os acidentes aéreos é de extrema importância. Isso não apenas ajuda a aprimorar as medidas de segurança, mas também nos dá insights sobre os fatores que historicamente impactaram a indústria da aviação. Neste notebook, embarcamos em uma jornada baseada em dados, mergulhando fundo nos registros de acidentes aéreos. Aproveitando as capacidades do PyGWalker, uma biblioteca Python revolucionária para exploração visual de dados, buscamos desvendar padrões, tendências e principais conclusões desses incidentes infelizes ao longo dos anos.

O que é o PyGWalker?

PyGWalker é uma biblioteca Python inovadora projetada para transformar dataframes do pandas em uma interface interativa de usuário semelhante ao Tableau. Esta IU é adaptada para visualização eficiente e intuitiva de dados, permitindo que os usuários descubram padrões e insights ocultos em seus conjuntos de dados sem a necessidade de programação extensa. A beleza do PyGWalker está em sua capacidade de tornar dados complexos mais acessíveis e compreensíveis, preenchendo a lacuna entre ciência de dados e tomada de decisão.

PyGWalker (opens in a new tab)

Para mais detalhes e para começar com o PyGWalker, confira seu repositório oficial no GitHub (opens in a new tab).

pip install -q pygwalker --pre

Nota: você pode precisar reiniciar o kernel para usar pacotes atualizados.

Carregar e Explorar o Conjunto de Dados de Acidentes Aéreos

Começamos carregando o conjunto de dados e dando uma olhada preliminar em sua estrutura.

import pandas as pd
import numpy as np
from datetime import datetime
import pygwalker as pyg
 
# 1. Ler os dados
df = pd.read_csv('/kaggle/input/airplane-crashes-since-1908/Airplane_Crashes_and_Fatalities_Since_1908.csv')

Limpeza e Pré-processamento dos Dados de Acidentes Aéreos

Para garantir a precisão de nossas visualizações, precisamos pré-processar e limpar nossos dados. Isso envolve lidar com valores ausentes, extrair recursos de tempo relevantes e muito mais.

# 2. Limpar a coluna Time
df['Time'] = df['Time'].replace(np.nan, '00:00') 
df['Time'] = df['Time'].str.replace('c: ', '').str.replace('c:', '').str.replace('c', '')
df['Time'] = df['Time'].str.replace('12\'20', '12:20').str.replace('18.40', '18:40').str.replace('0943', '09:43')
df['Time'] = df['Time'].str.replace('22\'08', '22:08').str.replace('114:20', '00:00')
 
# Extraindo a hora da coluna 'Time'
df['Hour'] = df['Time'].str.split(':').str[0].astype(int)
 
# 3. Combinar as colunas Date e Time
df['DateTime'] = df['Date'] + ' ' + df['Time']
 
# 4. Converter para formato de data e hora
def todate(x):
    return datetime.strptime(x, '%m/%d/%Y %H:%M')
df['DateTime'] = df['DateTime'].apply(todate)
 
# 5. Extrair Ano, Mês e Dia de DateTime
df['Year'] = df['DateTime'].dt.year
df['Month'] = df['DateTime'].dt.month
df['Day'] = df['DateTime'].dt.day
 
print('A faixa de datas vai de ' + str(df.DateTime.min()) + ' a ' + str(df.DateTime.max()))
 
# 6. Limpar a coluna Operator
df['Operator'] = df['Operator'].str.upper()

Visualizar Dados de Acidentes Aéreos com PyGWalker

Com nossos dados limpos e pré-processados, agora podemos proceder à sua visualização usando o PyGWalker. Isso nos permitirá explorar interativamente o conjunto de dados e obter insights significativos.

Visão geral do Conjunto de Dados de Acidentes Aéreos

Vamos começar visualizando o conjunto de dados completo para obter uma visão geral dos acidentes aéreos.

# 7. Usar pygwalker para visualização (supondo que você já configurou config.json)
walker = pyg.walk(df, spec="config.json", use_preview=True)

Você pode experimentar a versão online em HTML dos dados aqui

Aqui estão algumas visualizações rápidas de dados para o Conjunto de Dados de Acidentes Aéreos:

Visão geral dos incidentes de acidentes aéreos e do número de fatalidades

Dados de Fatalidades de Acidentes Aéreos

Dados de Acidentes Aéreos por Ano

Dados de Acidentes Aéreos por Ano

Dados de Acidentes Aéreos por Mês

Dados de Acidentes Aéreos por Mês

Dados de Acidentes Aéreos por Dia

Dados de Acidentes Aéreos por Dia

Dados de Acidentes Aéreos por Hora

Dados de Acidentes Aéreos por Hora

Insights Específicos de Operador

Para obter insights mais específicos, iremos focar em operadores individuais, especialmente aqueles com um número significativo de registros em nosso conjunto de dados.

# Filtrar operadores com contagem menor que 20
filtered_df = df.groupby('Operator').filter(lambda x: len(x) >= 20)
 
# Passar o dataframe filtrado para o pygwalker para visualização
walker_filtered = pyg.walk(filtered_df, spec="config1.json", use_preview=True)

Insights Específicos de Operador para Dados de Acidentes Aéreos

Total de Fatalidades por Operador

Compreender o total de fatalidades associadas a cada operador pode fornecer insights sobre a gravidade dos acidentes que eles tiveram.

# Calcular o total de fatalidades para cada operador
total_fatalities = filtered_df.groupby('Operator')['Fatalities'].sum().reset_index()
total_fatalities.columns = ['Operator', 'TotalFatalities']
 
# Passar o dataframe de total de fatalidades para o pygwalker para visualização
walker_fatalities = pyg.walk(total_fatalities, spec="config2.json", use_preview=True)

Total de Fatalidades em Acidentes Aéreos por Operadora

Análise Detalhada: Companhia Aérea Aeroflot

A Aeroflot, como uma das principais operadoras em nosso conjunto de dados, merece uma análise mais detalhada. Vamos analisar as fatalidades anuais associadas à Aeroflot para entender seu histórico de segurança ao longo dos anos.

# Filtrar pela companhia aérea 'Aeroflot'
aeroflot_df = filtered_df[filtered_df['Operator'].str.contains('AEROFLOT', case=False, na=False)]
 
# Calcular as fatalidades anuais para 'Aeroflot'
fatalidades_anuais_aeroflot = aeroflot_df.groupby(aeroflot_df['DateTime'].dt.year)['Fatalidades'].sum().reset_index()
fatalidades_anuais_aeroflot.columns = ['Ano', 'Fatalidades']
 
# Passar o dataframe de fatalidades anuais para 'Aeroflot' para o pygwalker para visualização
walker_aeroflot = pyg.walk(fatalidades_anuais_aeroflot, spec="config3.json", use_preview=True)

Dados da Companhia Aérea Aeroflot

Conclusão

Através deste notebook, exploramos interativamente o conjunto de dados de acidentes aéreos usando o PyGWalker. Nossas visualizações forneceram insights sobre as tendências gerais de acidentes aéreos, padrões específicos de operadoras e o histórico de segurança de operadoras importantes como a Aeroflot. Esses insights são inestimáveis para compreender o contexto histórico da segurança da aviação e podem orientar pesquisas futuras e decisões políticas na indústria da aviação.

Perguntas Frequentes

  1. Por que a exploração visual é importante para analisar dados de acidentes aéreos?

A exploração visual facilita a compreensão rápida e intuitiva de conjuntos de dados complexos. No contexto de dados de acidentes aéreos, ela ajuda a identificar padrões, períodos de incidentes frequentes e operadoras de alto risco. Ao analisar visualmente os dados, as partes interessadas podem tomar decisões informadas e implementar medidas proativas de segurança.

  1. O que faz do PyGWalker diferente de outras ferramentas de visualização de dados?

O PyGWalker é único em sua abordagem, transformando um dataframe do pandas diretamente em uma interface interativa semelhante ao Tableau. Isso elimina a necessidade de codificação extensiva ao criar visualizações abrangentes, tornando-o eficiente para cientistas de dados e acessível para usuários não técnicos.

  1. O PyGWalker é adequado para conjuntos de dados grandes?

Sim, o PyGWalker foi projetado para lidar de forma eficaz com conjuntos de dados grandes. Sua interface intuitiva garante navegação e exploração suaves, independentemente do tamanho do conjunto de dados. No entanto, como qualquer ferramenta, o desempenho pode variar com base nos recursos do sistema e na complexidade dos dados.

Perguntas Frequentes:

  1. Qual é o dado sobre acidentes de avião?

    • Resposta: Os dados sobre acidentes de avião variam de acordo com a fonte e o período de investigação. Várias agências e organizações, como a Aviation Safety Network e a National Transportation Safety Board (NTSB), mantêm registros de incidentes e acidentes de aviação. Estatísticas detalhadas podem ser encontradas em seus respectivos sites.
  2. Quantos voos sofrem acidentes por dia?

    • Resposta: Embora o número exato possa variar, é importante observar que a viagem aérea é extremamente segura. Em média, há menos de dois acidentes com jatos comerciais de passageiros grandes em todo o mundo por ano. Considerando que existem mais de 100.000 voos comerciais diariamente, a taxa de acidentes é extremamente baixa.
  3. Quantos acidentes de avião ocorrem por ano?

    • Resposta: Em média, ocorrem menos de 20 acidentes no total envolvendo aviões comerciais de passageiros e carga em todo o mundo a cada ano. No entanto, esse número pode variar com base em vários fatores e nos critérios para o que é considerado um "acidente".
  4. Quantos acidentes de avião ocorreram na história?

    • Resposta: Desde o início da aviação, houve milhares de acidentes de avião, desde incidentes menores até acidentes graves. Para estatísticas detalhadas e números específicos, organizações como a Aviation Safety Network fornecem bancos de dados abrangentes.