

 
DETAILS 
This class is a comprehensive introduction to data analysis with the Python programming language. This class targets people who have some basic knowledge of programming and want to take it to the next level. It introduces how to work with different data structures in Python and covers the most popular data analytics and visualization modules, including numpy, scipy, pandas, matplotlib, and seaborn. We use Ipython notebook to demonstrate the results of codes and change codes interactively throughout the class.
Prerequisites
Some rudimentary knowledge of programming
Syllabus
Unit 1: Introduction to Python
Python is a highlevel programming language. You will learn the basic syntax and data structures in Python. We demonstrate and run codes within Ipython notebook, which is a great tool providing a robust and productive environment for interactive and exploratory computing.
Introduction to Ipython notebook
Basic objects in Python
Variables and selfdefining functions
Control flow
Data structures
Unit 2: Explore Deeper with Python
Python is an objectoriented programming (OOP) language. Having some basic knowledge of OOP will help you understand how Python codes work. More often than not, you will have to deal with data that is dirty and unstructured. You will learn many ways to clean your data such as applying regular expressions.
Introduction to objectoriented programming
How to deal with files
Run Python scripts
Handling and processing strings
Unit 3: Scientific Computation Tools
There are two modules for scientific computation that make Python powerful for data analysis: Numpy and Scipy. Numpy is the fundamental package for scientific computing in Python. SciPy is an expanding collection of packages addressing scientific computing.
Numpy
Scipy
Unit 4: Data Visualization
Python can also generate graphics easily using Matplotlib and Seaborn. Matplotlib is the most popular Python library for producing plots and other 2D data visualizations. Seaborn is a Python visualization library based on matplotlib. It provides a highlevel interface for drawing statistical graphics.
Seaborn
Matplotlib
Unit 5: Data manipulation with Pandas
Pandas provides rich data structures and functions for working with structured data. The DataFrame object in Pandas is just like the data.frame object in R. Pandas makes data manipulation (filter, select, group, aggregate, etc.) as easy as in R.
Pandas
Final Project
After 20 hours of structured lectures, students are encouraged to work on an exploratory data analysis project based on their own interests. A project presentation demo will be arranged afterwards.





