Introduction to Python for Data Science
This is a set of notes used for teaching Python to students that have never used Python, or programmed in any language. In a usual semester, it takes approximately 4 weeks (meeting twice a week for an hour) to go through the material, for a freshmen undergraduate class.
- The notes are in the form of iPython notebooks and are stored under the
- You can open the notes in Google Colab. With Google Colab, you can save your work in your Google Drive.
- If you do not want to use Google Colab, you can launch the notes in Binder, which is a temporary Jupyter server launched on-demand. Note that the Binder server will shutdown after a period of idleness. If you want to save your work, and you should save the notes locally to your computer.
nbgrader (for Educators)
- If you would like to get access to the autograded assignments that we have developed, please contact me at
- Python for Everybody: Exploring Data In Python 3: This is a textbook for students that are learning Python as their first programming language, with the objective of using programming to handle and analyze data.
- Automate the Boring Stuff using Python: A task-driven textbook that teaches Python by focusing on how to automate various tasks, using programming.
Additional Books for Learning Python
- How To Think Like a Computer Scientist: An interactive guide to programming and Python. The book "Python for Everybody" (listed above) is partially based on this book.
- Learn Python the Hard Way: An introduction to programming and Python. It targets complete beginners. It used a drill-based approach for teaching, which can be tedious at times. Nevertheless, it is considered one of the standard textbooks for learning Python.
- The following Coursera courses Getting Started with Python, Python Data Structures, Using Python to Access Web Data, Using Databases with Python, Capstone: Retrieving, Processing, and Visualizing Data with Python are well-alinged with the objectives of our class.
- Code Academy, Python class: This is a useful interactive tutorial for beginners, who are trying to understand programming in general, and Python in particular
- Google’s Python class
- DataCamp, Intro to Python for Data Science
- DataQuest, Python Basics
- Official Python 3 Tutorial
- Python Tutor
- Useful iPython Notebooks: A wide variety of useful tutorials in iPython Notebooks for a wide variety of topics
- Python for Econometrics
- Quantitative Economics: An introduction to scientific computing using Python, by Thomas J. Sargent and John Stachurski
- Pytudes by Peter Norvig. A set of problems, in a wide variety of fields, solved with Python. Clear and structured problem descriptions, and beautiful code for solving them. You will learn something everytime you read one of the provided notebooks.
- http://www.pyschools.com/ [highly recommended]
have stolenrelied heavily on the "Python for Everybody" and the "How To Think Like a Computer Scientist" books to develop the structure and the material for the notes.
- The initial version of the notebooks came from Josh Attenberg, from his course "Practical Data Science" that was taught at NYU/Stern.
- Katherine Hoffmann contributed to the development of the current notebooks.
- Outside NYU, the material is licensed under the Creative Commons Attribution-ShareAlike 4.0 license. If you are working within NYU, note that any usage of the material is strictly prohibited.