Visual Work

Data Visualization.

Turning data into stories.

  1. 01Aviation Accident AnalysisPython · pandas · matplotlib
  2. 02Aviation DatastoryTableau
  3. 03The Fatal JourneyInfographic · Figma

01 · Aviation Accident Analysis · Python, pandas, matplotlib

I ran an ETL analysis on U.S. civil aviation accidents from 1962 to 2023, looking at aircraft makes, carriers, weather and phase of flight in relation to incidents and fatalities.

It’s a topic I’m genuinely into. I used to watch Air Disasters as a kid, and still do. I looked at fatalities alongside incidents, since most incidents are handled safely and often go unnoticed by the people on board.

  1. 01

    Most incidents happen on landing. The deadliest happen at cruise.

    Landing has by far the most incidents, followed by takeoff and cruise, but very few landing incidents are fatal. Cruise and maneuvering are less frequent and far more severe.

    Grouped bar chart: incidents and fatalities by phase of flight
  2. 02

    Clear skies see more incidents. Instrument-only flying sees more deaths.

    The large majority of incidents happened with normal visibility (VMC). But more fatalities happened with no visibility (IMC), when the plane is flown by instruments alone.

    Grouped bar chart: incidents and fatalities by weather condition
  3. 03

    The biggest airlines report the most incidents, likely because they fly the most.

    American, United and Delta top the list, which may simply reflect that they have some of the highest flight counts.

    Bar chart: top 10 air carriers by incident reports
  4. 04

    Cessna, Piper and Beech lead in incidents, and they’re mostly small private planes.

    All three make smaller, single-engine aircraft often flown by private pilots, which may explain their higher incident counts.

    Bar chart: top 10 aircraft makes by incident reports

How I built it

A zipped CSV from Kaggle, unpacked and read with pandas.

I unzipped the dataset with Python’s zipfile module and read it into a pandas data frame. The data had special characters, so it needed a specific encoding.

#Unzips the Kaggle file
with zipfile.ZipFile('aviation_data.zip', 'r') as zip_ref:
    zip_ref.extractall('aviation_data_folder')

#Loads the main dataset
full_df = pd.read_csv('aviation_data_folder/AviationData.csv',
                      encoding='ISO-8859-1')
1 of 3

02 · Aviation Datastory · Tableau

Incidents by aircraft.

Incidents by aircraft model and make, stacked by injury severity, and plotted by the aircraft’s year.

Dashboard: incidents by aircraft model, make and age, colored by injury level

03 · Infographic · Figma · 2024

The Fatal Journey.

On June 18, 2023, the OceanGate Titan submersible imploded on its way to the Titanic wreck. This infographic walks through the events leading up to it, the implosion itself, and the search that followed, for anyone who watched it unfold on the news and wanted the full picture.

  • A timeline of the dive, minute by minute
  • The search, day by day, with maps
  • The warnings and earlier expeditions
  • Every figure sourced, from the BBC to the NYT

Scroll inside the window to read it. Click to enlarge.

Infographic: The Fatal Journey of the OceanGate Titan Submersible