Cart 0 $0.00
IRE favicon

Learn how to explore data with Python's Jupyter Notebook

Editor's Note: This article first ran on the California Civic Data Coalition's website on Oct. 8. Ben spoke at our San Diego Data Watchdog Workshop, a program funded by the Ethics and Excellence in Journalism Foundation.

By Ben Welsh

Last weekend, I traveled to the campus of San Diego State University to join a journalism workshop put on by Investigative Reporters and Editors.

Dozens of students and journalists gathered from across Southern California — and even as far as Mexicali, Mexico — to learn advanced online research techniques, receive Microsoft Excel instruction and develop other skills during two days of training.

One of the offerings was a new class created by our team titled “First Python Notebook: Scripting your way to the story.”

Over three hours I walked about 20 students through the fundamentals of the Python programming language by using the Jupyter Notebook programming environment to interrogate data and develop a story.

Our subject: Contributions to campaigns for and again Proposition 64, a ballot measure asking California voters to decide if recreational marijuana should be legalized.

The data: Drawn from this site’s bulk download service that repackages CAL-ACCESS, the jumbled, dirty and difficult database that tracks money in California politics.

The complete script for the class is now available online on GitHub for anyone to take at home or teach elsewhere. We’re aiming to expand and improve it for future events, so if you give it a try I’d love to hear your feedback. Email me any time at

109 Lee Hills Hall, Missouri School of Journalism   |   221 S. Eighth St., Columbia, MO 65201   |   573-882-2042   |   |   Privacy Policy
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram
My cart
Your cart is empty.

Looks like you haven't made a choice yet.