← Back to projects
PythonData AnalysisEducationpandasStatisticsOpen Source

Data Analysis for Engineers

A free, open course that takes engineers from Python fundamentals to applied statistics through six self-contained notebooks and six real mini-projects.

Course Author & InstructorSelf-directed · 20254 min read
6 self-contained module notebooks
Worked examples across 6 engineering fields
Every dataset generated in-notebook
Dual-licensed: CC BY-SA 4.0 + MIT

Overview

A practical, project-based course that teaches data analysis in Python to engineers, starting at language fundamentals and building through pandas, numerical computing, visualization, and statistics into six applied case studies drawn from Philippine engineering practice. It's written for people who already think like engineers but haven't yet made Python a working tool.

The course is free and open. Prose, lessons, exercises, and case-study write-ups are licensed CC BY-SA 4.0: reuse and adapt with attribution, share adaptations under the same license, while the code cells are MIT. The notebooks are published for reading online, and this repository exists so anyone can run and edit the code behind them.

The Curriculum

Six module notebooks, each self-contained: lessons build progressively, most close with a Knowledge Check, and every module ends in a Mini-Project, with a capstone in Module 6.

#NotebookFocusMini-Project
1module-1-python-foundations.ipynbPython language fundamentalsEquipment Energy & Cost Analyzer
2module-2-pandas.ipynbTabular data manipulationSector Energy Demand Summary Report
3module-3-numpy-scipy.ipynbNumerical computing & scientific methodsExtreme Load Analysis (Gumbel Method)
4module-4-data-visualization.ipynbPlotting & chartingMulti-Panel Facility Energy Report Figure
5module-5-statistics-ml.ipynbStatistics & intro MLFacility Energy Regression Model
6module-6-philippine-applications.ipynbApplied case studies & capstoneCapstone Project (3 tracks)

Modules 1–5 are sequential prerequisites for Module 6, and the worked examples rotate across the six fields the course serves (Civil, Mechanical, Electrical, Computer, Chemical, and Industrial), tagged inline for easy filtering.

How It Runs

Zero friction by design. Each module opens directly in Google Colab with a one-click link, where numpy, pandas, matplotlib, scipy, seaborn, and plotly are preinstalled, so cells run as-is. To run locally, the repo needs Python 3.12+ and uv: clone, uv sync, uv run jupyter lab. A plain pip install path works too. Every dataset used is generated inside its notebook: nothing to download.

Stack

Python · pandas · NumPy · SciPy · Matplotlib · statsmodels · scikit-learn · Jupyter / Google Colab · uv

Takeaway

Most "learn Python for data" material stays abstract. The bet here is that engineers learn fastest when the dataset comes from their own world (a facility's energy load, a sector's demand curve, an extreme-load return period), and when the lesson ends in something they built. Open licensing was the other half of that bet: attribution-based reuse means instructors can adapt the course to their own students rather than starting over.

The notebooks, setup instructions, and Colab links live in the repository README.