September is usually the peak of hurricane season in the Atlantic Ocean – but this year, there have been surprisingly few hurricanes. (See the New York Times story on this topic from a few days ago.) This is apparently connected to El Niño, which apparently tears storms apart before they can strengthen.
How many hurricanes usually form in the Atlantic at this time of year, and how strong are they? And what can we say about the hurricanes that did arrive so far this year?
This week, we'll use data from the US government to better understand hurricanes, past and present.
Data and five questions
Our main data will come from the US government's NOAA (National Oceanic and Atmospheric Administration), and specifically the NOAA's National Centers for Environmental Information (NCEI). They track and publish data about hurricanes, among other things. Up-to-date data about this year's hurricanes are in a system known as International Best Track Archive for Climate Stewardship, abbreviated to IBTrACS. CSV versions of their data are at:
We'll work with the CSV file containing data from 1980 through the present day, called ibtracs.since1980.list.v04r01.csv. You can download it from:
Paid subscribers, both to Bamboo Weekly and to my LernerPython+data membership program (https://LernerPython.com) get all of the questions and answers, as well as downloadable data files, downloadable versions of my notebooks, one-click access to my notebooks, and invitations to monthly office hours.
Learning goals for this week include: Reading CSV files, cleaning data, plotting with Plotly, grouping, and dates and times.
Here are my five questions and tasks for this week. I'll be back tomorrow with my solutions and explanations.
- Read the CSV file into a Pandas data frame. We only care about the columns 'SID', 'SEASON', 'NUMBER', 'BASIN', 'NAME', 'NATURE', 'ISO_TIME', 'IFLAG', 'LAT', 'LON', and 'USA_WIND'. Make sure that
ISO_TIMEis a datetime and that the numeric columns are indeed numeric. This file uses an empty string and a single space character forNaN, and usesNAfor "North Atlantic," so watch out for that, too. Keep only original (i.e., non-interpolated) data, meaning those in which the first character ofIFLAGisO. Ignore the 2nd row in the file, which lists the units. - Create a bar plot showing the number of hurricanes in each season in the data set, in the North Atlantic basin. (Those are storms with a TS value in
NATUREand with aUSA_WINDof at least 64.) Now create a bar plot showing the number of hurricanes in the North Atlantic basin through September 15th of each, so we can compare 2026 with previous years. Do we see fewer hurricanes this year? Is this part of a trend, or an exceptional year?