DS 2003: Communicating with Data

Fall 2026 · Mon/Wed/Fri · Sarah Groves · Syllabus · Computer setup guide · Canvas

Office hours: Fri 1–2 pm, Rm 437 (Sarah) · Wed 1–2 pm, Capital One Hub (Isabelle Lee, TA)

Every dataset we've used so far, in one place. If a lab reads a CSV, save it in the same folder as the notebook. The penguins and volcano data load straight from the web, so you don't need to download them.

Palmer penguins

344 rows × 7 columns

Measurements of 344 penguins (three species) from three islands in the Palmer Archipelago, Antarctica: bill length and depth, flipper length, body mass, sex.

Or: pip install palmerpenguins, then from palmerpenguins import load_penguins

Used in: Fri 8/28 Lab 0: Python review; Fri 9/18 Lab 3: anatomy of a figure; Fri 9/25 Lab 4: encodings, color & chart types; Fri 10/23 Lab 7 (async, family weekend): interactive EDA with Plotly

Smithsonian Holocene volcanoes

1,328 rows × 20 columns

The Smithsonian Global Volcanism Program's list of volcanoes active in the last ~12,000 years: name, country, region, type, elevation, and how strong the evidence of eruption is.

Used in: Fri 9/4 Lab 1: pandas & data types; Fri 9/18 Lab 3: anatomy of a figure

Fast food nutrition

515 rows × 18 columns · 48 KB

Nutrition facts for 515 menu items from eight fast food chains: calories, fat, sodium, carbs, sugar, protein, and a few vitamins.

Used in: Fri 9/11 Lab 2: grouping & aggregating; Fri 9/18 Lab 3: anatomy of a figure; Fri 9/25 Lab 4: encodings, color & chart types; Mon 9/28 Question storm

NYC flights, 2013

336,776 rows × 19 columns · 33 MB

Every flight that departed New York City's three airports (JFK, LGA, EWR) in 2013: scheduled and actual times, delays, carrier, origin, destination, distance.

Or: pip install nycflights13, then import nycflights13 as nf; nf.flights

Used in: Fri 9/11 Lab 2: grouping & aggregating; Fri 9/18 Lab 3: anatomy of a figure; Fri 9/25 Lab 4: encodings, color & chart types; Fri 10/23 Lab 7 (async, family weekend): interactive EDA with Plotly

Gapminder

1,704 rows × 8 columns

Life expectancy, population, and GDP per capita for 142 countries, every five years from 1952 to 2007. Built into Plotly, so there's nothing to download.

Load it with: import plotly.express as px, then px.data.gapminder()

Used in: Fri 10/30 Lab 8: ipywidgets: controls & linked views; Fri 11/13 Lab 10 (light): annotating charts in matplotlib

Titanic passengers

891 rows × 15 columns

One row per passenger on the Titanic's maiden voyage: ticket class, sex, age, fare, port of embarkation, and whether they survived. A classic for showing how categories combine.

Used in: Fri 11/13 Lab 10 (light): annotating charts in matplotlib; Mon 11/23 Project 2 work session

Superstore sales

8,399 rows × 8 columns · 640 KB

Orders from a fictional US office-supply retailer (Tableau's classic sample data): region, segment, category and sub-category, sales, profit, quantity, order date. Its nested categories make it a good fit for tree charts.

Used in: Fri 11/6 Lab 9: hierarchical data: interactive treemaps & sunbursts; Mon 11/23 Project 2 work session

Bad chart redesign

Data behind the four charts from the Fixing bad charts activity (Wed 9/30) and Lab 5. Some are collected from the original source; where the raw data wasn't available, it's a synthetic best guess.

Chart A: US household income & financial assets (see chart)

Chart B: ranked game rating over time (see chart)

Chart C: Florida firearm murders & national crime rates (see chart)

Chart D: slime mold traits by group (synthetic) (see chart)

Used in: Wed 9/30 Fixing bad charts; Fri 10/2 Lab 5: bad chart redesign