Skip to content
PYGWALKER
Tutoriales
Visualización de Datos de Accidentes de Avión con PyGWalker

Visualización de Datos de Accidentes de Avión con PyGWalker

Visualización de Datos de Accidentes de Avión

En la era de la aviación moderna, comprender los accidentes de avión es de suma importancia. No solo ayuda a mejorar las medidas de seguridad, sino que también nos brinda información sobre los factores que han impactado históricamente a la industria de la aviación. En este notebook, emprendemos un viaje basado en datos, adentrándonos en registros de accidentes de avión. Aprovechando las capacidades de PyGWalker, una biblioteca revolucionaria de Python para la exploración visual de datos, buscamos descubrir patrones, tendencias y conclusiones clave de estos desafortunados incidentes a lo largo de los años.

¿Qué es PyGWalker?

PyGWalker es una innovadora biblioteca de Python diseñada para transformar dataframes de pandas en una interfaz de usuario interactiva que recuerda a Tableau. Esta interfaz de usuario está diseñada para una visualización eficiente e intuitiva de datos, permitiendo a los usuarios descubrir patrones e información oculta en sus conjuntos de datos sin la necesidad de programación extensa. La belleza de PyGWalker radica en su capacidad para hacer que los datos complejos sean más accesibles y comprensibles, acortando la brecha entre la ciencia de datos y la toma de decisiones.

PyGWalker (opens in a new tab)

Para obtener más detalles y comenzar con PyGWalker, visita su repositorio oficial en GitHub (opens in a new tab).

pip install -q pygwalker --pre

Nota: puede que debas reiniciar el kernel para usar paquetes actualizados.

Cargar y Explorar el Conjunto de Datos de Accidentes de Avión

Comenzamos cargando el conjunto de datos y echando un primer vistazo a su estructura.

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

Limpieza y Preprocesamiento de Datos para el Conjunto de Datos de Accidentes de Avión

Para asegurar la precisión de nuestras visualizaciones, necesitamos preprocesar y limpiar nuestros datos. Esto implica manejar valores faltantes, extraer características relevantes de tiempo y más.

# 2. Limpieza de la columna Tiempo
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')
 
# Extracción de la hora de la columna 'Tiempo'
df['Hour'] = df['Time'].str.split(':').str[0].astype(int)
 
# 3. Combinación de las columnas Fecha y Tiempo
df['DateTime'] = df['Date'] + ' ' + df['Time']
 
# 4. Convertir al formato de fecha y hora
def todate(x):
    return datetime.strptime(x, '%m/%d/%Y %H:%M')
df['DateTime'] = df['DateTime'].apply(todate)
 
# 5. Extraer Año, Mes y Día de DateTime
df['Year'] = df['DateTime'].dt.year
df['Month'] = df['DateTime'].dt.month
df['Day'] = df['DateTime'].dt.day
 
print('El rango de fechas va desde ' + str(df.DateTime.min()) + ' hasta ' + str(df.DateTime.max()))
 
# 6. Limpieza de la columna Operador
df['Operator'] = df['Operator'].str.upper()

Visualizar los Datos de Accidentes de Avión con PyGWalker

Con nuestros datos limpios y preprocesados, ahora podemos proceder a visualizarlos usando PyGWalker. Esto nos permitirá explorar interactivamente el conjunto de datos y extraer conclusiones significativas.

Información General del Conjunto de Datos de Accidentes de Avión

Comencemos visualizando todo el conjunto de datos para obtener una visión general de los accidentes de avión.

# 7. Usar pygwalker para la visualización (asumiendo que ya has configurado config.json)
walker = pyg.walk(df, spec="config.json", use_preview=True)

Puedes probar la versión HTML en línea de los datos aquí

Aquí hay algunas visualizaciones rápidas de datos para el Conjunto de Datos de Accidentes de Avión:

Resumen de los incidentes de accidentes de avión y el número de víctimas mortales

Datos de Accidentes de Avión - Víctimas Mortales

Datos de Accidentes de Avión por Año

Datos de Accidentes de Avión por Año

Datos de Accidentes de Avión por Mes

Datos de Accidentes de Avión por Mes

Datos de Accidentes de Avión por Día

Datos de Accidentes de Avión por Día

Datos de Accidentes de Avión por Hora

Datos de Accidentes de Avión por Hora

Información Específica del Operador

Para obtener información más específica, nos centraremos en operadores individuales, especialmente aquellos con un número significativo de registros en nuestro conjunto de datos.

# Filtrar operadores con un conteo menor a 20
filtered_df = df.groupby('Operator').filter(lambda x: len(x) >= 20)
 
# Pasar el dataframe filtrado a pygwalker para visualización
walker_filtered = pyg.walk(filtered_df, spec="config1.json", use_preview=True)

Información Específica del Operador para Datos de Accidentes de Avión

Total de Fatalidades por Operador

Comprender el total de fatalidades asociadas con cada operador puede proporcionar información sobre la gravedad de los accidentes que han experimentado.

# Calcular el total de fatalidades para cada operador
total_fatalities = filtered_df.groupby('Operador')['Fatalidades'].sum().reset_index()
total_fatalities.columns = ['Operador', 'TotalFatalidades']
 
# Pasar el dataframe de total de fatalidades a pygwalker para visualización
walker_fatalities = pyg.walk(total_fatalities, spec="config2.json", use_preview=True)

Datos de Accidentes de Avión - Total de Fatalidades por Operador

Análisis Detallado: Aerolínea Aeroflot

Aeroflot, como un operador importante en nuestro conjunto de datos, merece un análisis más detallado. Analizaremos las fatalidades anuales asociadas con Aeroflot para comprender su historial de seguridad a lo largo de los años.

# Filtrar la aerolínea 'Aeroflot'
aeroflot_df = filtered_df[filtered_df['Operador'].str.contains('AEROFLOT', case=False, na=False)]
 
# Calcular las fatalidades anuales para 'Aeroflot'
fatalidades_anuales_aeroflot = aeroflot_df.groupby(aeroflot_df['FechaHora'].dt.year)['Fatalidades'].sum().reset_index()
fatalidades_anuales_aeroflot.columns = ['Año', 'Fatalidades']
 
# Pasar el dataframe de fatalidades anuales para 'Aeroflot' a pygwalker para visualización
walker_aeroflot = pyg.walk(fatalidades_anuales_aeroflot, spec="config3.json", use_preview=True)

Datos de Aerolínea Aeroflot

Conclusión

A través de este cuaderno, hemos explorado de manera interactiva el conjunto de datos de accidentes de avión utilizando PyGWalker. Nuestras visualizaciones han proporcionado información sobre las tendencias generales de los accidentes de avión, patrones específicos de cada operador y el historial de seguridad de importantes operadores como Aeroflot. Estos conocimientos son invaluables para comprender el contexto histórico de la seguridad de la aviación y pueden guiar futuras investigaciones y decisiones de políticas en la industria de la aviación.

Preguntas Frecuentes (FAQ):

  1. ¿Cuáles son los datos de los accidentes de avión?

    • Respuesta: Los datos de los accidentes de avión varían según la fuente y el período de investigación. Diversas agencias y organizaciones, como la Aviation Safety Network y la Junta Nacional de Seguridad en el Transporte (NTSB), mantienen registros de incidentes y accidentes de aviación. Las estadísticas detalladas se pueden encontrar en sus respectivos sitios web.
  2. ¿Cuántos vuelos tienen accidentes cada día?

    • Respuesta: Si bien el número exacto puede variar, es importante tener en cuenta que los viajes aéreos son increíblemente seguros. En promedio, hay menos de dos accidentes de grandes aviones comerciales de pasajeros en todo el mundo por año. Teniendo en cuenta que hay más de 100,000 vuelos comerciales diarios, la tasa de accidentes es extremadamente baja.
  3. ¿Cuántos accidentes de avión hay por año?

    • Respuesta: En promedio, hay menos de 20 accidentes totales que involucran aviones comerciales de pasajeros y carga en todo el mundo cada año. Sin embargo, este número puede variar según varios factores y los criterios de lo que se considera un "accidente".
  4. ¿Cuántos accidentes de avión ha habido en total en la historia?

    • Respuesta: Desde el inicio de la aviación, ha habido miles de accidentes de avión, desde incidentes menores hasta accidentes importantes. Para obtener estadísticas detalladas y números específicos, organizaciones como la Aviation Safety Network proporcionan bases de datos exhaustivas.