Python for data analysis (June 25 to 29)

Prof. A. Perera (UPC), Language: English, MORNING: 9.00 am to 12 pm.

Course title

Python for data analysis.



Alexandre Perera. Dept. Eng. Sistemes, Automàtica i Inf. Ind. (UPC). 

A. Perera-LLuna,  Degree in Physics from  Univ. de Barcelona (1999)  and in Electrical engineering   (2001). PhD in Physics from the same university in  2003.  Professor at the Univ. Politència de Catalunya-BarcelontaTech (UPC), Depart. ESAII and member of the     Laboratorio de Bioinformática y Señales Biomédicas (B2SLab).


Course Language



Course schedule

June 25 to 29: 9:00 to 12:00pm.



This course will cover a crash course for scientific Python for data analysis for 15h. This crash course will include three main stages:

  • Introduction to Python language as a tool. Workflow, ipython, ipython notebook (jupyter), basic types, mutability and inmutability and object oriented programming.
  • Short introduction to numerical Python and matplotlib for graphical visualization.
  • Introduction to scientific kits for data analysis with machine learning. Principal components analysis, clustering and supervised analysis with multivariate data. 
  • Introduction to TensorFlow and Keras


 Lecture plan

1. Introduction

a. Why Python?
b. Python History
c. Installing Python
d. Python resources

2. Working with Python

a. Workflow
b. ipython vs. CLI
c. Text Editors
d. IDEs
e. Notebook

3. Getting started with Python

a. Introduction
b. Getting Help
c. Basic types
d. Mutable and in-mutable
e. Assignment operator
f. Controlling execution flow
g. Exception handling

4. Functions and Object Oriented Programming

a. Defining Functions
b. Input and Output
c. Standard Library
d. Object-oriented programming

5. Introduction to NumPy

a. Overview
b. Arrays
c. Operations on arrays
d. Advanced arrays (ndarrays)
e. Notes on Performance (\%timeit in ipython)

6. Matplotlib

a. Introduction
b. Figures and Subplots
c. Axes and Further Control of Figures
d. Other Plot Types
e. Animations

7. Python scikits

a. Introduction
b. scikit-timeseries
8. scikit-learn
a. Datasets
b. Sample generators
c. Unsupervised Learning
d. Supervised Learning

i. Linear and Quadratic Discriminant Analysis
ii. Nearest Neighbors
iii. Support Vector Machines

e. Feature Selection

9. Practical Introduction to Scikit-learn

a. Solving an eigenfaces problem

i. Goals
ii. Data description
iii. Initial Classes
iv. Importing data

b. Unsupervised analysis

i. Descriptive Statistics
ii. Principal Component Analysis
iii. Clustering

c. Supervised Analysis

i. k-Nearest Neighbors
ii. Support Vector Classification
iii. Cross validation

10. Introduction  to TensorFlow

a.  Introduction

b. Tensor Data representation

c.  Computational Graphs and calculus flow

e. Examples

f. Introuction to Keras

g. Keras Layers

h. Practical Challenge