Skip to content
3 min read · Tags: grouping plotly plotting cleaning datetime

Bamboo Weekly #142: Hurricanes

Get better at: Working with CSV, working with dates and times, cleaning, grouping, and plotting.

Bamboo Weekly #142: Hurricanes

Hurricane Melissa (https://en.wikipedia.org/wiki/Hurricane_Melissa) has been traveling through the Caribbean over the last week. With winds blowing as fast as 295 km/h, it's no wonder that the storm has caused a great deal of property destruction, as well as injuries and deaths, in countries such as the Dominican Republic, Haiti, and Jamaica. We can hope that this is the end of the chaos and sorrow it's creating.

This week, we'll thus be looking at hurricane data from the Caribbean and North/Central America. We'll explore topics from wind speed to the names that are chosen to describe storms.

I considered using data from HURDAT (https://www.nhc.noaa.gov/data/#hurdat), which includes information about damage from storms, but their file format was rather strange, and I decided to leave it alone for now. But never fear, I might yet find an opportunity to explore it, perhaps with the help of a HURDAT package on PyPI (https://pypi.org/project/hurdat2parser/).

Data and six questions

This week's data is from IBTrACS, the International Best Track Archive for Climate Stewardship at the National Oceanic and Atmosphere Administration in the Department of Commerce (https://www.ncei.noaa.gov/products/international-best-track-archive). Their data is available in a number of formats, including CSV. From what I've seen, it’s the most comprehensive, globally standardized archive of tropical-cyclone tracks available.

We'll be looking at data from the North Atlantic, which is labeled NA, which can be downloaded from https://www.ncei.noaa.gov/data/international-best-track-archive-for-climate-stewardship-ibtracs/v04r01/access/csv/ibtracs.NA.list.v04r01.csv .

A good data dictionary for this data set is available at https://www.ncei.noaa.gov/data/international-best-track-archive-for-climate-stewardship-ibtracs/v04r01/doc/IBTrACS_v04r01_column_documentation.pdf .

This week's learning goals include: Cleaning data, grouping, working with dates and times, and plotting.

Paid subscribers to Bamboo Weekly, including members of my LernerPython online learning platform (https://LernerPython.com), get access to all questions and answers, a downloadable file with the data, invitations to monthly office hours, downlodable Jupyter/Marimo notebooks, and one-click access to my notebook in Google Colab or Molab, depending on the notebook style.

Here are my six tasks and questions for this week.

  1. Read the data in from the CSV file. We only need some of the columns: SEASON, SUBBASIN, NAME, ISO_TIME,
    LAT, LON, WMO_WIND, and MLC_CLASS. ISO_TIME needs to be a datetime. WMO_WIND and SEASON should be integers. LAT and LON should be floats.
  2. Which five storms had the highest measured windspeeds?