Resources#

General#

Columbia#

Pandas#

There are countless other 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.

Learning more#

Want to keep going after this class?

Python fundamentals#

Recommended focusing on fundamentals of Python 3. Many “learn Python” resources will be web development-oriented (they will probably mention Django/Flask), so you might want to look for ones that focus on data science or Python 3 on its own. Some that are data-oriented:

Countless other “learn Python” resources/courses/videos/books out there; there isn’t one right choice for everyone.

Machine learning#

Columbia#

Jupyter outside this course#

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

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 columbia 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#