Python for Data Science (Ph.D. Course)
Module Description and Motivation
Python is the most useful and powerful programming language oriented to data science and machine learning. Although simple, some aspects need to be carefully addressed. This Ph.D. course aims to introduce methods, techniques, and tools for the analysis of experimental data using Python language. Particular emphasis is placed on data manipulation and transformation.
Scientific Sector (SSD)
ING-IND/31 (Electrical Engineering)
Overview and Credits
Ph.D. Course in Information and Communication Technology (ICT). 18 hours, 3 CFUs.
Prerequisites
Students are expected to have some knowledg of basic computer programming.
Grading
Small practical project assignment on one of the course topics. The topic can also be agreed based on the student’s Ph.D. research program.
Syllabus
Introduction to Python.
Basics of Python programming and Python data structures
Python programming fundamentals
Main scientific libraries
Data manipulation
Data preparation and transformation
Specific topics
Detailed contents.
Suggested Books
Naomi Ceder, The Quick Python Book, 3rd Edition, Manning, 2018.
Naomi Ceder, Python - Guida alla sintassi, alle funzionalità avanzate e all'analisi dei dati, Apogeo, 2019. (in Italian)
Jake VanderPlas, A Whirlwind Tour of Python, O'Reilly Media, 2016.
Jake VanderPlas, Python Data Science Handbook: Essential Tools for Working with Data, O'Reilly Media, 2016.
Matt Harrison, Machine Learning Pocket Reference: Working with Structured Data in Python, O'Reilly Media, 2019.
Joel Grus, Data Science from Scratch, O'Reilly Media, 2nd Edition, 2019.
Lecture notes.
Time and Location
The module will start on January 15 2025, with the following schedule:
Wednesday, 14:00 - 17:00, Room DIET09
Thursday, 14:00 - 17:00, Room DIET09
Office Hours
Every day by appointment.
Classroom
News, updates, and communications about the course will be available on Google Classroom, with the code: 3un72tv.
Course Materials
Lecture Slides:
Course overview [Slide - Notebook - Lecture note]
Introduction to Python [Slide - Notebook - Lecture note]
Basics of Python programming and Python data structures [Slide - Notebook - Lecture note]
Python programming fundamentals [Slide - Notebook - Lecture note]
Main scientific libraries [Slide - Notebook - Lecture note]
Data manipulation [Slide - Notebook - Lecture note]
Data preparation and transformation [Slide - Notebook - Lecture note]
Specific topics [Slide - Notebook - Lecture note]
Python Source Codes:
Additional Resources:
Markdown syntax [Web guide - Cheat Sheet 1 - Cheat Sheet 2]
GitHub
The course is also available on GitHub as Jupoyter Notebook at the following link.
Exams Session
Contact directly the instructor.