Module 01: Python for Data Science
Core Python libraries for data manipulation, analysis, and visualization. This is the data processing and visualization toolbox for the modules that follow.
What You'll Learn
- NumPy for numerical computing (
ndarray, dtypes, broadcasting, linear algebra) - Pandas for data manipulation (Series, DataFrame, I/O,
groupby, missing data, datetimes) - Matplotlib and Seaborn for data visualization (line, scatter, histogram, bar, pie, and beyond)
- Plotly and Dash for interactive visualizations
- Streamlit for building dashboards and ML applications
- Flask for web applications and REST APIs
- Tableau for professional data visualization
- Exploratory Data Analysis (EDA) techniques
- Working with APIs, databases, and web scraping
ML toolbox curriculum map
Each line below is covered with code examples in the linked guide (same style as the Python basics doc: concept + runnable snippets). The from-scratch ML project uses tutorials that combine these tools.
| Topic | Where to study |
|---|---|
| Data processing & visualization (ML toolbox) | This phase as a whole; start with NumPy → Pandas → Visualization |
NumPy fundamentals, ndarray, attributes & dtypes |
NumPy → Attributes, Creating arrays |
| Pandas Series, DataFrame & file handling (CSV/Excel etc.) | Pandas → Series/DataFrames, Reading/Writing |
| Array creation (existing data, scratch, range, random) | NumPy → Creating arrays |
Data access: indexing, loc / iloc & filtering |
NumPy → Indexing, Pandas → Selection |
| Indexing, slicing, copying & advanced iteration | NumPy → Copies, Pandas patterns |
| Modifying data (add/drop rows & columns, assign values) | Pandas → cleaning/ops (drops, assigns); see also DataFrame basics |
| Array manipulation, reshaping & transformations | NumPy → Reshape, Advanced manipulation |
| Duplicates, missing data & DateTime | Pandas → Data cleaning, Time series / datetime |
| Arithmetic, mathematical & logical operations | NumPy → Array operations, Mathematical ops |
| Apply, aggregation & GroupBy | Pandas → Grouping, apply / map |
| Broadcasting, sorting, searching & counting | Broadcasting, Sorting & searching |
| Matplotlib line, scatter, histogram, bar & pie | Visualization → Plot types |
| Statistical analysis & linear algebra basics | NumPy stats, Linear algebra |
| Project: Build an ML model from scratch | NumPy NN tutorial, First ML project |
| Next: Machine learning for beginners | Intro ML curriculum map; EDA in 04-exploratory-data-analysis |
Modules
01-numpy
Learn NumPy. The foundation of numerical computing in Python.
Topics:
- Fundamentals:
ndarray, attributes, and data types - Array creation: from existing data, from scratch, ranges, and random values
- Data access: indexing, slicing, views vs. copies, advanced iteration
- Reshaping and array transformations
- Arithmetic, mathematical, and logical operations
- Broadcasting; sorting, searching, and counting
- Statistical analysis and linear algebra basics
Time Estimate: 1 week
02-pandas
Master Pandas. The most important library for data manipulation.
Topics:
- Series and DataFrame; file handling (CSV, Excel, JSON, and related formats)
- Data access: indexing,
loc/iloc, and filtering - Indexing, slicing, copying, and advanced iteration patterns
- Modifying data: add/drop rows and columns, assign values
- Handling duplicates, missing data, and datetime operations
- Apply functions, aggregation, and
GroupByanalysis - Merging, joining, and concatenating DataFrames
- MultiIndex; stack/unstack,
melt, pivot tables; vectorized string and datetime operations - Time series operations
Time Estimate: 2 weeks
03-visualization
Create beautiful and informative visualizations.
Topics:
- Matplotlib: line, scatter, histogram, bar, and pie plots
- Seaborn statistical visualizations
- Plotly & Dash for Interactive Visualizations
- Customizing Plots
- Subplots and Multiple Plots
- Building Interactive Dashboards
- Saving Figures
Time Estimate: 1-2 weeks
04-exploratory-data-analysis
Systematic approach to understanding your data before modeling.
Topics:
- EDA Workflow and Best Practices
- Univariate Analysis (Numerical and Categorical)
- Bivariate Analysis (Relationships between variables)
- Multivariate Analysis (Correlations, PCA)
- Data Quality Checks (Outliers, Consistency)
- Creating EDA Reports
Time Estimate: 1-2 weeks
05-data-sources-and-integration
Work with various data sources: APIs, databases, web scraping, and file formats.
Topics:
- Working with REST APIs
- Database Integration (SQL, NoSQL)
- Web Scraping (BeautifulSoup, Selenium)
- File Formats (CSV, Excel, JSON, Parquet, XML)
- Data Integration Pipelines
- Error Handling and Validation
Time Estimate: 1-2 weeks
06-regular-expressions-text-processing
Master regular expressions and text processing for cleaning and analyzing text data.
Topics:
- Regular Expressions Basics and Patterns
- Text Processing with Pandas
- Pattern Matching and Extraction
- Text Cleaning Pipelines
- Real-World Text Processing Examples
Time Estimate: 1 week
07-advanced-data-wrangling
Advanced data manipulation: reshaping, pivoting, and transforming data.
Topics:
- Reshaping Data (Wide vs Long Format)
- Pivot Tables and Cross-tabulation
- Melt and Unpivot Operations
- Stack and Unstack
- Advanced Grouping Techniques
- Performance Optimization
Time Estimate: 1 week
08-working-with-dates-times
Dates, times, and time-based data handling.
Topics:
- Creating and Parsing Dates
- Date Arithmetic and Differences
- Time Series Indexing
- Extracting Date/Time Components
- Time Zones
- Resampling and Frequency Conversion
- Rolling Windows and Shifting
Time Estimate: 1 week
09-streamlit-dashboards
Build interactive web applications and dashboards for data science and machine learning.
Topics:
- Streamlit Basics and Components
- Interactive Widgets (Sliders, Dropdowns, Buttons)
- Data Visualization Integration
- Building ML Model Interfaces
- Creating Data Exploration Dashboards
- Deployment and Best Practices
Time Estimate: 1 week
10-flask-web-development
Build web applications and REST APIs with Flask.
Topics:
- Flask Basics and Routing
- Templates and Jinja2
- Forms and User Input
- REST API Development
- Database Integration
- Authentication and Sessions
- Deployment
- Flask vs Streamlit Comparison
Time Estimate: 1-2 weeks
11-tableau-visualization
Create professional data visualizations and dashboards with Tableau.
Topics:
- Tableau Basics and Interface
- Connecting to Data Sources
- Basic and Advanced Visualizations
- Calculations and Functions
- Dashboards and Stories
- Tableau vs Python Visualization
- Best Practices
Time Estimate: 1-2 weeks
Essential path vs optional depth
Module 01 has 15 lessons, too much to read linearly before starting ML. Use this split:
Essential path (~4–6 weeks), required before Module 02
| Order | Lesson | Why |
|---|---|---|
| 1 | 01-numpy.md | Numerical foundation for all ML |
| 2 | 02-pandas.md | Data manipulation |
| 3 | 03-visualization.md | Communicate findings |
| 4 | 04-exploratory-data-analysis.md | Systematic EDA before modeling |
| 5 | 05-data-sources-and-integration.md | APIs, files, basic SQL hooks |
| 6 | python-for-data-science-project-tutorial.md | End-to-end practice |
Parallel (Stage 1.5): Start Module 19 SQL after lesson 2–3 if you target analyst or data scientist roles.
After first EDA project: Read Stakeholder Communication (30 min) before presenting charts to non-technical audiences.
Optional depth: revisit when a project needs them
| Lesson | When to study |
|---|---|
| 06-regular-expressions-text-processing.md | NLP or messy text columns |
| 07-advanced-data-wrangling.md | Complex pivots / reshaping |
| 08-working-with-dates-times.md | Time series or datetime-heavy data |
| 09-streamlit-dashboards.md | Dashboard portfolio project |
| 10-flask-web-development.md | Before Module 13 deployment |
| 11-tableau-visualization.md | BI analyst track |
| python-for-data-science-advanced-topics.md | Polars/Dask at scale |
| python-for-data-science-quick-reference.md | Cheat sheet anytime |
Exit gate (Stage 1)
Before Module 02, you should pass Gate B in FOUNDATION_AND_JOB_READINESS.md.
Learning Objectives
By the end of this phase, you should be able to:
- Perform numerical operations with NumPy
- Load, clean, and manipulate datasets with Pandas
- Create various types of visualizations (static and interactive)
- Build interactive dashboards with Plotly, Dash, Streamlit, and Tableau
- Create web applications and REST APIs with Flask
- Perform systematic exploratory data analysis (EDA)
- Fetch data from APIs and databases
- Scrape data from websites
- Work with various file formats
- Use regular expressions for text processing
- Reshape and transform data efficiently
- Handle dates and times effectively
Projects
- Data Analysis Project: Analyze a real dataset (e.g., sales data, weather data)
- Visualization Project: Create a dashboard with multiple visualizations
- Build a machine learning model from scratch, after NumPy and Pandas, combine skills in an end-to-end numeric pipeline: for example, follow the Prerequisites Project Tutorial: Neural Network from Scratch (NumPy only) and/or First ML Project Tutorial for a full sklearn-style workflow
Tips
- Practice with real datasets from Kaggle or UCI Repository
- Focus on understanding data structures (Series, DataFrame)
- Learn to read documentation. It's a crucial skill
- Experiment with different plot types
Documentation & Learning Resources
NumPy
Official Documentation:
Free Courses & Tutorials:
- NumPy Tutorial (W3Schools)
- NumPy Quickstart Tutorial
- [NumPy Tutorial (DataCamp)](https://www.datacamp.com/tutorial numpy-tutorial-for-beginners): Free tutorial
- NumPy Basics (Real Python)
Video Tutorials:
Pandas
Official Documentation:
Free Courses & Tutorials:
- Pandas Tutorial (W3Schools)
- 10 Minutes to Pandas: Quick start guide
- Pandas Tutorial (DataCamp): Free tutorial
- Pandas Tutorial (Real Python)
Video Tutorials:
Practice:
Matplotlib & Seaborn
Official Documentation:
- Matplotlib Documentation
- Matplotlib Gallery: Examples for every plot type
- Seaborn Documentation
- Seaborn Gallery: Statistical visualization examples
Free Courses & Tutorials:
- Matplotlib Tutorial (W3Schools)
- Matplotlib Tutorial (Real Python)
- Seaborn Tutorial (Real Python)
- Data Visualization with Python (Coursera): Free audit available
Video Tutorials:
- Matplotlib Tutorial (Corey Schafer)
- Seaborn Tutorial (Corey Schafer)
- Data Visualization (Keith Galli)
Additional Resources
- Advanced Python for Data Science Topics - Advanced Pandas techniques, performance optimization, advanced visualization, memory optimization, advanced EDA, data pipeline design, and tool integration
- Complete Data Science Project Tutorial - End-to-end project from data collection (web scraping) to interactive dashboard using all data science tools
- Python for Data Science Quick Reference - Quick lookup guide for NumPy, Pandas, visualization, data manipulation patterns, and file I/O
Previous Module: 00-prerequisites
Next Module: 02-introduction-to-ml
Parallel (Stage 1.5): 19-sql-database-fundamentals after NumPy/Pandas lessons, for analyst and data scientist tracks.