esade

Python for Data Analysis (2235.YR.014219.1)

General information

Type:

OPT

Curs:

1,2

Period:

S semester

ECTS Credits:

3 ECTS

Teaching Staff:

Group Teacher Department Language
Year 1 Esteve Almirall Mezquita Operaciones, Innovación y Data Sciences ENG

Group Teacher Department Language
Year 2 Esteve Almirall Mezquita Operaciones, Innovación y Data Sciences ENG

Prerequisites

none

Previous Knowledge

none

COURSE CONTRIBUTION TO PROGRAM

This is a 100% online async course that you can do at your pace, supported by a WhatsApp group and one-to-one interaction when needed.

"Why Software is Eating the World? was the title of a very famous Marc Andersen article in The Wall Street Journal in 2011. If this was already a reality in 2011, now it's even more evident. It doesn't really matter which industry you are in, we assist to an accelerated process of transforming functions into software and moving this software to cloud platforms in order to get the benefits of infinite scalability, pay per use, never pay per idle and marginal cost close to zero.
Software is built around programming languages. And among programming languages, Python is rapidly becoming the language of choice for learning to code and the main language for Artificial Intelligence and Analytics.

Learning how to code will provide you three superpowers.
1. Will put you on the side of the "ones who know?, the "ones who understand? tech and its capabilities.
2. The ability to use Python for Data Manipulation and Interactive Visualization, even for large or very large datasets.
3. It will open you the door to learn AI & Data Science.

Python as a programming language is easy, it lacks the complexity of other programming languages designed with the need to coordinate large cohorts of programmers in mind. This makes easy for anybody to learn the basics of the language only in a few days.
Python is versatile. You will use Python for scientific programming, for AI, for Data Science, for web programming, for dashboards, even for games, ?
Python is the best door to learn how to code. Once you know how to code, languages may be a bit different, but not that different, and you overcame your biggest obstacle.
Python will give you superpowers in Business. Business are increasingly data driven and being able to analyse data, large amounts of data, will provide you a clear advantage over your peers (or a disadvantage if you are unable to use it).

This course is an intro crash course to Python focused on the use of Python for Data Analytics. Much of the power of Python lies not on the language but on its libraries. This course covers:
- Jupyter notebooks. The standard for code editing in data analysis. If you land in a tech companies you will deal with jupyter notebooks in presentations, hosted and for data manipulation.
- Pandas. A library for data manipulation that provides "spreadsheet like capabilities? to Python, allowing you to select and manipulate large datasets.
- Seaborn. A library for statistical visualization that makes it easy to produce and present statistical and data analytics plots, from pair or join plots with distributions to heatmaps, boxplots or correlation plots.
- Plotly express. A modern library to easily produce stunning interactive plots with zoom, pan and navigation capacities.
- Dashboards & Interaction. With ipwidgets and Volià.

Learning how to code it's a simple step in your life. It doesn't have the complexity of learning Calculus or Statistics, but at the same time is a major step that opens you the doors of a world of possibilities and opportunities.

Welcome to Python for Data Sciences SUPERCODERS !!!

Course Learning Objectives

The course has seven main objectives allowing participants to learn the basics of Python, data manipulation and visualization.

1. Be able to manage with proficiency in Python and Jupyter notebooks.

2. Proficiency in Pandas, the library used in Python for managing datasets, allowing selection, creating new rows or columns, grouping or merging several datasets among other operations. Importing, cleaning, data wrangling and feature engineering are the basic skills needed before entering any machine learning analysis.

3. Visualization. Both with Seaborn and Plotly Express, libraries designed for statistics and interactive visualizations with ipwidgets and Voilà.

These three objectives will provide the grounds for integrating in a jupyter notebook environment and being able to perform data manipulation, data wrangling and statistical or interactive visualizations.
These "super powers? will offer capacities at a very dfferent level than the ones at your disposal with tools such as Excel.

CONTENT

1. Python

1. Intro to Python.
2. Intro to Programming.
3. Python 101 ¿ Data types.
4. Python 101 ¿ Strings.
5. Python 101 ¿ Functions.
6. Python 101 ¿ Input & Print.
7. Python 101 ¿ If.
8. Python 101 ¿ Loops.
9. Python 101 ¿ Functions ¿ def.
10. Python 101 ¿ Lists & tuples.
11. Python 101 ¿ Dictionaries.
12. Python Input/Output.
13. Python Exceptions.
14. Object Oriented Python.
15. Python ¿ models & simulations.

2.

3.

4.

5.

Methodology

This is a full async online course supported by videos, exercises and a WhatsApp group and one-to-one interactions when needed.

Getting familiar with Python is no different from acquiring any other skill, understanding is not enough! You must be able to code fluently. Solving the problem should not be blocked by the instrument such as the language or the library but augmented by it. For that you need to interiorize the process and be able to express yourself in code with fluency.
This process requires repetition, time and increasing difficulty of the problems that you face in order to progress and acquire the skill.
Remember, understanding is just the beginning, not the end. Understanding is still far away from the objective. Acquiring and interiorizing the skill is the objective. This requires repetitive practice of increasing difficulty.

The course will facilitate this process following this three step approach,
1. Presentation and motivation of the theory.
2. Small exercises exemplifying its use.
3. Individual challenge that confronts you with a real problem without assistance.
Please we aware that we can provide you the tools, the explanations and part of the practice, but learning and particularly acquiring skills is an individual process that depends basically on you. Time and effort will bring you very far, but don't expect to acquire a skill with a last minute effort. This is a recipe for failure.

This course is designed for online, therefore is divided in short segments with the following structure:

- Short videos explaining subject (5-15m).

- Some jupyter notebook with excise(s) and examples.

- A submission box to submit the exercises for correction & grading.

Support will be provided through a WhatsApp group where both instructors & students can contribute.

Assessment criteria

Grading will be based on the exercises of each lesson and three individual projects:

- Python exercises 25%
- Individual Project 1 20%
- Individual Project 2 25%
- Individual Project 3 (pandas & plots) 30%

Bibliography

Books:

Python Crash Course
https://www.amazon.com/dp/1593276036/ref=sspa_dk_detail_0?psc=1

Python for Data Analysis
https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1491957662/ref=sr_1_3?crid=32MNH1EKI1KHM&keywords=python+for+data+analysis&qid=1550885156&s=gateway&sprefix=python+for+d%2Caps%2C212&sr=8-3

Pandas for Everyone: Python Data Analysis (Addison-Wesley Data & Analytics Series)
https://www.amazon.com/Pandas-Everyone-Analysis-Addison-Wesley-Analytics-ebook/dp/B0789WKTKJ/ref=sr_1_7?dchild=1&keywords=seaborn+python+visualization&qid=1594722498&sr=8-7

Interactive Data Visualization with Python: Present your data as an effective and compelling story, 2nd Edition

https://www.amazon.com/Interactive-Data-Visualization-Python-compelling/dp/1800200943/ref=sr_1_2?dchild=1&keywords=seaborn+python+visualization&qid=1594722498&sr=8-2



Blogs:
Data Elixir - https://dataelixir.com/
O'Reilly Data Newsletter - http://www.oreilly.com/data/newsletter.html
Towards Data Science - https://towardsdatascience.com/

Podcasts:
O'Reilly Data Show Podcasts - https://www.oreilly.com/topics/oreilly-data-show-podcast
Software engineering daily - https://softwareengineeringdaily.com/
Talk Python to me - https://talkpython.fm/

Timetable and sections

Group Teacher Department
Year 1 Esteve Almirall Mezquita Operaciones, Innovación y Data Sciences

Timetable Year 1

Tuesday 2023/10/3 from 18:00 to 19:00.

Friday 2023/12/1 from 15:00 to 16:00.

Group Teacher Department
Year 2 Esteve Almirall Mezquita Operaciones, Innovación y Data Sciences

Timetable Year 2

Tuesday 2023/10/3 from 18:00 to 19:00.

Friday 2023/12/1 from 15:00 to 16:00.