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 %}
- Python Commands List with Example
- Python Flash Cards
- pandas cheat sheets
- Crash Course Computer Science
- FreeCodeCamp
- LinkedIn Learning
- NYU's Quantitative Analysis Guide: Python
- RealPython
- 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" -%}
- Data Science for Policy (DSP):
- Other Python courses
- Introduction to Infographics and Data Visualization
- Database Design, Management, and Security
- Time Series Analysis {% else -%}
- Wagner:
- Elsewhere at NYU {%- 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. See Courses.
Special access for students:
{% if id == "columbia" -%}
- Columbia AI services {% else -%}
- NYU AI services {%- endif %}
- Copilot Pro through GitHub Education
- Cursor
- Google Colab Pro for Education
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:
Advanced
Note these instructions won't work in Colab.
-
Install Python.
-
Check out the
{{school_slug}}branch. -
Install the packages.
make setup
-
Start the Jupyter server:
make notebook