| layout | index |
|---|
Tuesdays, April 25 to July 25, 2017
LMU Biozentrum, Room D00.013
Lecture: 13-14:30; Exercise class: 14:30-16; 3 ECTS total
NOTE: On July 18, 2017, the class will be held in room B01.019 (small lecture theatre)
Taught by Martin Spacek (lecture) and Nick Del Grosso (exercise class)
Class notes and files: https://github.com/SciPyCourse2017/notes
Introduction to the Python programming language, with a focus on practical tools and techniques for scientific data analysis. Previous programming experience in a language such as Matlab or R is an asset, but not required. Introduces various key Python libraries, and provides example problems. Students will be encouraged to bring their own specific data analysis problems to class, for immediate applicability to their work, culminating in a course project. Basic command line operations and code version control with Git will also be covered. Students are expected to bring their own laptop. A minimal level of attendance and participation is required in both the lecture and the exercise class, but no homework will be assigned.
This course corresponds to lectures no. 19291 and 19292 in the official course listing.
- Python basics
- Python basics 2
- collections
- numpy 1D arrays
- more numpy, plotting with matplotlib
- more matplotlib, matrices
- statistics
- data analysis with Pandas
- review
- image analysis
- organizing code, data, results; version control with Git; work on project
- hierarchical indexing in pandas; work on project
- dimension reduction & clustering; work on project
Here are the class project guidelines.
These are all free, and require no signup or login:
-
http://introtopython.org - is excellent!
-
http://learnpython.org - has online editable and executable code
-
http://interactivepython.org/runestone/static/thinkcspy/index.html - also has online editable and executable code, plus quizzes and videos
-
IPython is an improved Python interactive terminal. This is what we will mostly spend our time in: http://ipython.readthedocs.io/en/stable/interactive/tutorial.html
-
Jupyter is IPython running in a web browser. It allows you to create "notebooks" that combine code, formatted text, and results: http://jupyter-notebook.readthedocs.io/en/latest/examples/Notebook/examples_index.html
-
Numpy is probably the most important data analysis library for Python: https://docs.scipy.org/doc/numpy-dev/user/quickstart.html
-
SciPy is another important library: https://docs.scipy.org/doc/scipy/reference/tutorial
-
Matplotlib is the most popular plotting library: http://matplotlib.org/users/pyplot_tutorial.html
-
Pandas is another useful Python library for data analysis, built on top of numpy, that we'll introduce in the course. It has several tutorials: http://pandas.pydata.org/pandas-docs/stable/tutorials.html