Resources#

There are countless blog posts, videos, books, etc. out there. There is no “best” resource, as individuals prefer different formats, come in with different experience, and learn at different speeds. Anything that comes up near the top of a Google search will likely be fine.

Questions#

pandas cheat sheets#

Tutorials#

Books#

Courses#

Python fundamentals#

Data analysis/science#

Machine learning#

Workshops#

Learning more#

Want to keep going with Python after this class? See Developer Roadmaps for directions you can go. This course doesn’t spend a lot of time on Python fundamentals, so it’s recommended that you do that first.

Many “learn Python” resources will be web development-oriented — they will probably mention Django/Flask. If you want to stay focused on data, you might want to look for ones that focus on data science or Python 3 generally.

Jupyter outside this course#

We use a cloud-based Jupyter environment (JupyterHub) for this course to avoid installation issues across student computers. This is the only environment that’s supported for course work.

After this class, however, you’ll no longer have access. To download the files:

  1. Open a notebook

  2. In a code cell, run !tar -czvf ~/python_files.tar.gz ~

  3. From the file browser, check the box next to python_files.tar.gz, then click Download

  4. On your computer, unzip the file.

    • On Windows, you may need to install 7-Zip to do so.

A non-exhaustive list of alternatives:

Local#

Cloud-based#

Matching the class environment#

Advanced

Note these instructions won’t work in Colab.

  1. Install Mamba.

  2. Clone the repository.

  3. Check out the nyu branch.

  4. Set strict channel priority.

    conda config --set channel_priority strict
    
  5. Create the environment. From this directory, run:

    mamba env create --file extras/environment.lock.yml
    
  6. Activate the environment:

    conda activate python-public-policy
    
  7. Start the Jupyter server:

    make notebook
    

See also#