Awesome Open Source
Awesome Open Source

# Engineering Computations Module 2

Engineering Computations is a collection of stackable learning modules, flexible for adoption in different situations. It aims to develop computational skills for students in engineering, but it can also be used by students in other science majors. The course uses the Python programming language and the Jupyter open-source tools for interactive computing.

The first module, "Get data off the ground with Python", assumed no coding experience and created a foundation with Python programming constructs and data structures. You learned to play with strings, lists and NumPy arrays, using indexing, slicing, `for`- and `if`-statements, and Python functions.

This second course module explores practical statistical analysis with Python, and the `pandas` library for data analysis.

## Module 2: Take off with stats in Python

Hands-on data analysis using a computational approach and real-life applications.

Get an interactive session in MyBinder.org with these course materials by clicking on the button below. Select the folder `notebooks_en` to access the five lessons of this course as fully executable Jupyter notebooks.

### Lesson 1: Cheers! Stats with beers

Exploratory analysis using a data set of canned craft beers in the US. Introduces the `pandas`library and its data types: Data Frames and Series. Use `pandas` to read a data file, extract selected columns, and remove null values. Descriptive statistics: measures of central tendency and variability. Distribution plots: histograms with Matplotlib. Comparing with a normal distribution.

### Lesson 2: Seeing stats in a new light

Continuing with the data set of canned craft beers, this lesson focuses on visualizing statistics. For quantitative data: histograms and box plots; for categorical data: bar plots. Visualizing multiple data with scatter plots and bubble charts.

### Lesson 3: Lead in lipstick

A full worked example using what you learned in lessons 1 and 2: using data from studies by the US Food and Drug Administration on the lead content in lipstick, we fact-check alarming news headlines. Based on Prof. Kristin Sainani's lecture, "Exploring real data: lead in lipstick," of her Stanford Online course "Statistics in Medicine."

### Lesson 4: Life expectancy and wealth

Deeper dive into `pandas`, using data for life expectancy and per-capita income over time, across the world. Inspired by the work of Hans Rosling. Pandas methods: `head()`, `info()`, `value_counts()`, `groupby()`, `describe()`, `groupby.first()`, `groupby.get_group()`, `idxmin()` Categorical data type. Bubble plots, spaghetti plots, and interactive widgets.