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.
Notes
- The notes are in the form of iPython notebooks and are stored under the
/notes
folder. - 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.
Videos
nbgrader
(for Educators)
Exercises for - If you would like to get access to the autograded assignments that we have developed, please contact me at
[email protected]
.
Recommended Books
- 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.
Online Classes
- 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
Additional Pointers
- 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.
Python Exercises
- http://www.pyschools.com/ [highly recommended]
- http://www.singpath.com/#/paths
- http://learnpython.org/
- http://www.practicepython.org/
- http://www.codeabbey.com/index/task_list
- http://codingbat.com/python
- http://usingpython.com/python-programming-challenges/
- http://www.openbookproject.net/pybiblio/practice/elkner/
- http://www.openbookproject.net/pybiblio/practice/wilson/
- https://github.com/donnemartin/interactive-coding-challenges
Credits
- I
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.
License
- 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.