Visualisation des données sur les accidents d'avion avec PyGWalker
À l'ère de l'aviation moderne, il est essentiel de comprendre les accidents d'avion. Cela permet non seulement d'améliorer les mesures de sécurité, mais aussi de nous donner des informations sur les facteurs qui ont historiquement impacté l'industrie de l'aviation. Dans ce notebook, nous entreprenons un voyage axé sur les données, plongeant profondément dans les archives des accidents d'avion. En utilisant les capacités de PyGWalker, une bibliothèque Python révolutionnaire pour l'exploration visuelle des données, nous cherchons à dévoiler les schémas, les tendances et les leçons clés de ces incidents malheureux au fil des ans.
Qu'est-ce que PyGWalker ?
PyGWalker est une bibliothèque Python innovante conçue pour transformer les DataFrames de pandas en une interface utilisateur interactive rappelant Tableau. Cette interface utilisateur est adaptée à la visualisation efficace et intuitive des données, permettant aux utilisateurs de découvrir les schémas et les informations cachées dans leurs ensembles de données sans avoir besoin de coder de manière approfondie. La beauté de PyGWalker réside dans sa capacité à rendre les données complexes plus accessibles et compréhensibles, comblant ainsi le fossé entre la science des données et la prise de décision.
Pour plus de détails et pour commencer avec PyGWalker, consultez son dépôt GitHub officiel (opens in a new tab).
pip install -q pygwalker --pre
Note : vous devrez peut-être redémarrer le noyau pour utiliser les paquets mis à jour.
Chargement et exploration de l'ensemble de données sur les accidents d'avion
Nous commençons par charger l'ensemble de données et en prendre un premier aperçu de sa structure.
import pandas as pd
import numpy as np
from datetime import datetime
import pygwalker as pyg
# 1. Lire les données
df = pd.read_csv('/kaggle/input/airplane-crashes-since-1908/Airplane_Crashes_and_Fatalities_Since_1908.csv')
Nettoyage et prétraitement des données de l'ensemble de données sur les accidents d'avion
Pour garantir l'exactitude de nos visualisations, nous devons prétraiter et nettoyer nos données. Cela comprend la gestion des valeurs manquantes, l'extraction des caractéristiques temporelles pertinentes, et plus encore.
# 2. Nettoyage de la colonne 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')
# Extraction de l'heure de la colonne 'Time'
df['Hour'] = df['Time'].str.split(':').str[0].astype(int)
# 3. Combinaison des colonnes Date et Time
df['DateTime'] = df['Date'] + ' ' + df['Time']
# 4. Conversion au format datetime
def todate(x):
return datetime.strptime(x, '%m/%d/%Y %H:%M')
df['DateTime'] = df['DateTime'].apply(todate)
# 5. Extraction de l'année, du mois et du jour à partir de DateTime
df['Year'] = df['DateTime'].dt.year
df['Month'] = df['DateTime'].dt.month
df['Day'] = df['DateTime'].dt.day
print('Les dates vont de ' + str(df.DateTime.min()) + ' à ' + str(df.DateTime.max()))
# 6. Nettoyage de la colonne Operator
df['Operator'] = df['Operator'].str.upper()
Visualisation des données sur les accidents d'avion avec PyGWalker
Avec nos données nettoyées et prétraitées, nous pouvons maintenant les visualiser à l'aide de PyGWalker. Cela nous permettra d'explorer de manière interactive l'ensemble de données et d'en tirer des informations significatives.
Aperçu de l'ensemble de données sur les accidents d'avion
Commençons par visualiser l'ensemble des données pour avoir une vue d'ensemble des accidents d'avion.
# 7. Utilisation de pygwalker pour la visualisation (en supposant que vous avez déjà configuré config.json)
walker = pyg.walk(df, spec="config.json", use_preview=True)
Vous pouvez essayer la version HTML en ligne des données ici
Voici quelques visualisations rapides des données pour l'ensemble de données sur les Accidents d'avion :
Aperçu des incidents d'accidents d'avion et du nombre de victimes
Données sur les accidents d'avion par année
Données sur les accidents d'avion par mois
Données sur les accidents d'avion par jour
Données sur les accidents d'avion par heure
Insights spécifiques à l'opérateur
Pour obtenir des informations plus spécifiques, nous nous concentrerons sur les opérateurs individuels, en particulier ceux qui ont un nombre significatif d'enregistrements dans notre ensemble de données.
# Filtrer les opérateurs dont le nombre est inférieur à 20
filtered_df = df.groupby('Operator').filter(lambda x: len(x) >= 20)
# Passer le DataFrame filtré à pygwalker pour la visualisation
walker_filtered = pyg.walk(filtered_df, spec="config1.json", use_preview=True)
Total des victimes par opérateur
Comprendre le nombre total de victimes associées à chaque opérateur peut fournir des informations sur la gravité des accidents auxquels ils ont été confrontés.
# Calcul du nombre total de victimes pour chaque opérateur
total_fatalities = filtered_df.groupby('Operator')['Fatalities'].sum().reset_index()
total_fatalities.columns = ['Operator', 'TotalFatalities']
# Passage du DataFrame des victimes totales à pygwalker pour la visualisation
walker_fatalities = pyg.walk(total_fatalities, spec="config2.json", use_preview=True)
Analyse approfondie : Compagnie aérienne Aeroflot
Aeroflot, en tant qu'opérateur majeur dans notre ensemble de données, mérite un examen plus approfondi. Nous analyserons les décès annuels associés à Aeroflot pour comprendre son bilan en matière de sécurité au fil des ans.
# Filtrer les données pour la compagnie aérienne 'Aeroflot'
aeroflot_df = filtered_df[filtered_df['Operator'].str.contains('AEROFLOT', case=False, na=False)]
# Calculer les décès annuels pour 'Aeroflot'
yearly_aeroflot_fatalities = aeroflot_df.groupby(aeroflot_df['DateTime'].dt.year)['Fatalities'].sum().reset_index()
yearly_aeroflot_fatalities.columns = ['Year', 'Fatalities']
# Transmettre le DataFrame des décès annuels pour 'Aeroflot' à pygwalker pour la visualisation
walker_aeroflot = pyg.walk(yearly_aeroflot_fatalities, spec="config3.json", use_preview=True)
Conclusion
Grâce à ce notebook, nous avons exploré de manière interactive l'ensemble de données sur les accidents d'avion à l'aide de PyGWalker. Nos visualisations ont permis de mieux comprendre les tendances générales des accidents d'avion, les modèles spécifiques aux opérateurs et le bilan de sécurité de grands opérateurs tels que Aeroflot. De telles informations sont précieuses pour comprendre le contexte historique de la sécurité aérienne et peuvent guider les futures recherches et décisions politiques dans l'industrie de l'aviation.
FAQ
- Pourquoi l'exploration visuelle est-elle importante pour l'analyse des données sur les accidents d'avion ?
L'exploration visuelle facilite une compréhension plus rapide et intuitive des ensembles de données complexes. Dans le contexte des données sur les accidents d'avion, elle permet d'identifier les modèles, les périodes d'incidents fréquents et les opérateurs à haut risque. En analysant visuellement les données, les parties prenantes peuvent prendre des décisions éclairées et mettre en place des mesures de sécurité proactives.
- En quoi PyGWalker se distingue-t-il des autres outils de visualisation de données ?
PyGWalker est unique dans son approche, transformant directement un dataframe pandas en une interface utilisateur interactive similaire à Tableau. Il élimine le besoin de coder de manière extensive tout en créant des visualisations complètes, ce qui le rend à la fois efficace pour les data scientists et accessible aux utilisateurs non techniques.
- PyGWalker convient-il aux grands ensembles de données ?
Oui, PyGWalker est conçu pour gérer efficacement de grands ensembles de données. Son interface intuitive garantit une navigation et une exploration fluides, quelle que soit la taille de l'ensemble de données. Cependant, comme tout outil, les performances peuvent varier en fonction des ressources du système et de la complexité des données.
FAQ:
-
Quelles sont les données concernant les accidents d'avion ?
- Réponse : Les données sur les accidents d'avion varient en fonction de la source et de la période d'enquête. Divers organismes et organisations, tels que l'Aviation Safety Network et le Bureau national de la sécurité des transports (NTSB), tiennent des registres des incidents et accidents de l'aviation. Des statistiques détaillées peuvent être consultées sur leurs sites respectifs.
-
Combien de vols se crashent par jour ?
- Réponse : Bien que le nombre exact puisse varier, il est important de noter que le voyage aérien est extrêmement sûr. En moyenne, il y a moins de deux accidents majeurs de jets commerciaux de passagers dans le monde chaque année. Compte tenu des plus de 100 000 vols commerciaux quotidiens, le taux d'accidents est extrêmement faible.
-
Combien d'accidents d'avion par an ?
- Réponse : En moyenne, il y a moins de 20 accidents au total impliquant des avions commerciaux de passagers et de fret dans le monde chaque année. Cependant, ce nombre peut varier en fonction de plusieurs facteurs et des critères définissant ce qu'est un "accident".
-
Combien d'accidents d'avion dans l'histoire totale ?
- Réponse : Depuis la création de l'aviation, il y a eu des milliers d'accidents d'avion, allant des incidents mineurs aux accidents majeurs. Pour des statistiques détaillées et des chiffres spécifiques, des organisations telles que l'Aviation Safety Network fournissent des bases de données complètes.