The Python mini boot camp for NICAR 2019 in Newport Beach, California.
Clone or download
Pull request Compare This branch is 95 commits ahead of tommeagher:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

______      _____   ___  ______  __   _____ 
| ___ \    /  __ \ / _ \ | ___ \/  | |  _  |
| |_/ /   _| /  \// /_\ \| |_/ /`| |  \ V / 
|  __/ | | | |    |  _  ||    /  | |  / _ \ 
| |  | |_| | \__/\| | | || |\ \ _| |_| |_| |
\_|   \__, |\____/\_| |_/\_| \_|\___/\_____/
       __/ |                                

Python mini boot camp at #NICAR18 in Chicago.

In this two-day workshop, we'll use the Jupyter notebook to explore the Python programming language. At the end of the class, we'll give you all of the code from the exercises, along with several cheatsheets and tutorials, to take home with you, all from this code repository on Github.

Day 1


  • Who are you, what do you do, what do you want to learn?
  • What will we learn?
  • What can I do with it?
  • The goal of the day is to start to learn how to think about solving problems.

The Basics

We'll introduce some key concepts of programming and Python types like strings, integers, lists, slicing and loops.

Project #1

As with many data analyses, it all starts with a CSV. After a white board exercise, we'll start with a file of pseudocode, and we'll walk through writing the program in Python code, running each line in the Jupyter interpreter. We'll hold your hand through each step of the process.

Day 2

A discussion on debugging and cheatsheet

Project #2

This section covers gathering data from the web in two common formats. In the first part, we'll scrape structured data from an html page using a GET request and writing the data to a CSV. In the second part, we'll request data from an API to get information programatically to create a spreadsheet. Our data comes in a new format: JSON. We'll do some more with the white board to show how it's basically a combination of data structures we already know about: Lists and dictionaries (arrays and objects).

Project #3

Now we get to the heart of data analysis with an introduction to the powerful pandas library. Building on the basic objects we've already learned, and on a little knowledge of SQL, we'll clean two related tables of data, join and filter them.

At the end of the day, we'll send you home with:

  • A lightning dash through basic variables, types and functions
  • The working, commented code for each project from our git repo
  • A walkthrough for setting up your machine at home with Python, version control and virtualenvs
  • Good libraries to explore with strong tutorials
  • A lifetime support guarantee from us & PythonJournos


If you're working through this code at home and have trouble, please let us know. The best option is to file an issue report of the bug so we can help you. You can also reach out to any of us on Twitter or ping PythonJournos.