Skip to content

jvns/pandas-cookbook

Repository files navigation

Pandas cookbook

Try it in your browser with Jupyter Lite: lite-badge

pandas is a Python library for doing data analysis. It's really fast and lets you do exploratory work incredibly quickly.

The goal of this cookbook is to give you some concrete examples for getting started with pandas. The docs are really comprehensive. However, I've often had people tell me that they have some trouble getting started, so these are examples with real-world data, and all the bugs and weirdness that entails.

It uses 3 datasets:

  • 311 calls in New York
  • How many people were on Montréal's bike paths in 2012
  • Montreal's weather for 2012, hourly

It comes with batteries (data) included, so you can try out all the examples right away.

Table of Contents

How to use this cookbook

You can try it out instantly online using Jupyter Lite, which will run Python with WebAssembly in your browser.

To install it locally, you'll need Jupyter notebook and pandas on your computer.

You can get these using pip (you may want to do this inside a virtual environment to avoid conflicting with your other libraries).

# Get the repository
git clone https://github.com/jvns/pandas-cookbook.git
cd pandas-cookbook

# Set up a virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Start jupyter
jupyter notebook

A tab should open up in your browser at http://localhost:8888

Happy pandas!

Running the cookbook inside a Docker container.

This repository contains a Dockerfile and can be built into a docker container. To build the container run following command from inside of the repository directory:

docker build -t jvns/pandas-cookbook -f Dockerfile-Local .

run the container:

docker run -d -p 8888:8888 -e "PASSWORD=MakeAPassword" <IMAGE ID>

you can find out about the id of the image, by checking

docker images

After starting the container, you can access the Jupyter notebook with the cookbook on port 8888.

License

Creative Commons License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

Translations

There's a translation into Chinese of this repo.