PyCon 2015 Pandas tutorial materials
Jupyter Notebook Other
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
build Fix #34 and #38 by updating data URLs Jan 23, 2018
images Move old image-building files into a directory Apr 27, 2015
.gitignore Come up with final challenge for the class Apr 5, 2015
All.ipynb sed -i 's/\.sort(/.sort_values(/g' *.ipynb *.txt Aug 15, 2017
Exercises-1.ipynb Update Exercises-1.ipynb (#30) Jul 9, 2017
Exercises-2.ipynb Fix typo to make exercise match solution Jul 9, 2015
Exercises-3.ipynb Correct a typo, and rebuild Exercises Apr 8, 2015
Exercises-4.ipynb Update Exercises-4.ipynb (#31) Jul 10, 2017
Exercises-5.ipynb Correct a typo, and rebuild Exercises Apr 8, 2015
Exercises-6.ipynb Correct a typo, and rebuild Exercises Apr 8, 2015
LICENSE.txt Add license and readme Apr 17, 2015
README.md Fix #34 and #38 by updating data URLs Jan 23, 2018
Solutions-1.ipynb Fix #39 JSON error introduced by b8db298 Jan 23, 2018
Solutions-2.ipynb sed -i 's/\.sort(/.sort_values(/g' *.ipynb *.txt Aug 15, 2017
Solutions-3.ipynb sed -i 's/\.sort(/.sort_values(/g' *.ipynb *.txt Aug 15, 2017
Solutions-4.ipynb Update Exercises-4.ipynb (#31) Jul 10, 2017
Solutions-5.ipynb sed -i 's/\.sort(/.sort_values(/g' *.ipynb *.txt Aug 15, 2017
Solutions-6.ipynb Add final step to make book titles match Aug 22, 2017
cheat-sheet.txt sed -i 's/\.sort(/.sort_values(/g' *.ipynb *.txt Aug 15, 2017
email.txt Preserve the email I sent to the original attendees Dec 25, 2016
requirements.sh Allow requirements.sh to take arguments Apr 7, 2015
sales1.csv Come up with final challenge for the class Apr 5, 2015
sales2.csv Come up with final challenge for the class Apr 5, 2015
script.txt sed -i 's/\.sort(/.sort_values(/g' *.ipynb *.txt Aug 15, 2017
style-notebook.css Ideas for first segment, about dictionary words Mar 30, 2015
style-table.css Get Pandas tables minimally styled Mar 28, 2015
youtube.png Try adding image of YouTube video Feb 11, 2016

README.md

Welcome to Brandon’s Pandas Tutorial

The first instance of this tutorial was delivered at PyCon 2015 in Montréal, but I hope that many other people will be able to benefit from it over the next few years — both on occasions on which I myself get to deliver it, and also when other instructors are able to do so.

If you want to follow along with the tutorial at home, here is the YouTube recording of the 3-hour tutorial at PyCon itself:

Watch the video tutorial on YouTube

https://www.youtube.com/watch?v=5JnMutdy6Fw

To make it useful to as many people as possible, I hereby release it under the MIT license (see the accompanying LICENSE.txt file) and I have tried to make sure that this repository contains all of the scripts needed to download and set up the data set that we used.

Quick Start

If you have both conda and git on your system (otherwise, read the next section for more detailed instructions):

$ conda install --yes jupyter matplotlib pandas
$ git clone https://github.com/brandon-rhodes/pycon-pandas-tutorial.git
$ cd pycon-pandas-tutorial
$ build/BUILD.sh
$ ipython notebook

Detailed Instructions

You will need Pandas, the IPython Notebook, and Matplotlib installed before you can successfully run the tutorial notebooks. The Anaconda Distribution is a great way to get up and running quickly without having to install them each separately — running the conda command shown above will install all three.

Note that having git is not necessary for getting the materials. Simply click the “Download ZIP” button over on the right-hand side of this repository’s front page at the following link, and its files will be delivered to you as a ZIP archive:

https://github.com/brandon-rhodes/pycon-pandas-tutorial

Once you have unpacked the ZIP file, download the following four IMDB data files and place them in the tutorial’s build directory:

  • ftp://ftp.fu-berlin.de/misc/movies/database/frozendata/actors.list.gz
  • ftp://ftp.fu-berlin.de/misc/movies/database/frozendata/actresses.list.gz
  • ftp://ftp.fu-berlin.de/misc/movies/database/frozendata/genres.list.gz
  • ftp://ftp.fu-berlin.de/misc/movies/database/frozendata/release-dates.list.gz

If the above links don’t work for you, try these alternate sources of the same files:

  • ftp://ftp.funet.fi/pub/mirrors/ftp.imdb.com/pub/frozendata/actors.list.gz
  • ftp://ftp.funet.fi/pub/mirrors/ftp.imdb.com/pub/frozendata/actresses.list.gz
  • ftp://ftp.funet.fi/pub/mirrors/ftp.imdb.com/pub/frozendata/genres.list.gz
  • ftp://ftp.funet.fi/pub/mirrors/ftp.imdb.com/pub/frozendata/release-dates.list.gz

To convert these into the CSV files that the tutorial needs, run the BUILD.py script with either Python 2 or Python 3. It will create the three CSV files in the data directory that you need to run all of the tutorial examples. It should take about 5 minutes to run on a fast modern machine:

$ python build/BUILD.py

You can then start up the IPython Notebook and start looking at the notebooks:

$ ipython notebook

I hope that the recording and the exercises in this repository prove useful if you are interested in learning more about Python and its data analysis capabilities!

Brandon Rhodes