Visualização de Dados de Acidentes Aéreos com PyGWalker
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.
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 Acidentes Aéreos por Ano
Dados de Acidentes Aéreos por Mês
Dados de Acidentes Aéreos por Dia
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)
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)
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)
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
- 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.
- 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.
- 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:
-
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.
-
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.
-
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".
-
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.