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.
- Office hours
- Stack Overflow {% if id == "columbia" -%}
- Research Data Services {% else -%}
- NYU Library Data Services
- The Coding Lab
- Wagner Quantitative Support {%- endif %}
- Automate the Boring Stuff with Python
- Python for Data Analysis
- Python for MBAs "and those in business roles that include coding or working with coding teams"
{% if id == "columbia" -%}
- Other Data Analytics & Quantitative Analysis (DAQA) courses {% else -%}
- Pre-approved courses outside of Wagner (for Wagner students) {%- endif %}
- Free trials for online courses through the GitHub Student Developer Pack
- DataCamp's Python Fundamentals or Python Programmer tracks
- Full Stack Python {% if id == "columbia" -%}
- Python at Columbia Business School self-paced course with videos, open to anyone at Columbia {%- endif %}
{% if id == "nyu" -%}
- Wagner Data Science and Data Management
- Center for Data Science
- Center for Urban Science + Progress (CUSP)
- Applied Data Science
- Machine Learning for Cities {%- endif %}
- Data Analysis with Python for Excel Users
- freeCodeCamp's Scientific Computing with Python class
- IBM Data Analyst Course - can jump to specific parts
{% if id == "columbia" -%}
- Butler Studio
- Data Club
- Foundations for Research Computing
- Library Workshops
- Research Data Services {% else -%}
- NYU Library Data Services {%- endif %}
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.
We use a cloud-based Jupyter environment ({{coding_env_name}}) for this course to avoid installation issues across student computers. This is the only environment that's supported for course work.
{% if id == "nyu" -%} After this class, however, you'll no longer have access. To download the files:
- Open a notebook
- In a code cell, run
!tar -czvf ~/python_files.tar.gz ~
- From the file browser, check the box next to
python_files.tar.gz
, then clickDownload
- On your computer, unzip the file.
- On Windows, you may need to install 7-Zip to do so. {%- endif %}
A non-exhaustive list of alternatives:
- Anaconda Notebooks
- Google Cloud Vertex AI Notebooks {% if id != "columbia" -%}
- Google Colab {%- endif %}
- Kaggle Notebooks
- Mode Notebooks
Advanced
Note these instructions won't work in Colab.
-
Install Mamba.
-
Check out the
{{school_slug}}
branch. -
Create the environment. From this directory, run:
mamba env create --file extras/environment.yml
-
Activate the environment:
conda activate python-public-policy
-
Start the Jupyter server:
make notebook