M0. Welcome to Programming in Python for Data Science
0. Welcome!
1. Programming in Python for Data Science
1.1. Prerequisite confirmation
M1. Python & Pandas - An Unexpected Friendship
0. Module Learning Outcomes
1. Introduction to Dataframes
1.1. Exercises
2. Introduction to Pandas
2.1. Exercises
3. Slicing with Pandas Using .loc[]
3.1. Exercises
4. Slicing Columns Using .loc[]
4.1. Exercises
5. Selecting Using .loc[]
5.1. Exercises
6. Obtaining Dataframe Values
6.1. Exercises
7. Selecting a Single Column
7.1. Exercises
8. Slicing and Selecting Using df.iloc[]
8.1. Exercises
9. Sorting Dataframes
9.1. Exercises
10. Summary Statistics
10.1. Exercises
11. Frequency Tables and Writing CSVs
11.1. Exercises
12. Quick Viz with Altair
12.1. Exercises
13. What Did We Just Learn?
M2. Not So Scary Wrangling (Table Manipulation and Chaining)
0. Module Learning Outcomes
1. Reading in Different File Types
1.1. Exercises
2. Arguments for Reading Data
2.1. Exercises
3. Column Renaming and Dropping
3.1. Exercises
4. Column Arithmetic and Creation
4.1. Exercises
5. Data Filtering
5.1. Exercises
6. Conditional Value Replacement
6.1. Exercises
7. Chaining Notation
7.1. Exercises
8. Grouping and Aggregating
8.1. Exercises
9. Plotting with Altair
9.1. Exercises
10. What Did We Just Learn?
M3. Tidy Data and Joining Dataframes
0. Module Learning Outcomes
1. What is Tidy Data?
1.1. Exercises
2. Statistical Questions and Tidy Data
2.1. Exercises
3. Reshaping with Pivot
3.1. Exercises
4. Reshaping with Pivot Table
4.1. Exercises
5. Reshaping with Melt
5.1. Exercises
6. Concatenation
6.1. Exercises
7. Joining Dataframes using Merge
7.1. Exercises
8. What Did We Just Learn?
M4. Python Without the “Eek” (Basic Python)
0. Module Learning Outcomes
1. Python Data Types
1.1. Exercises
2. Python Data Structures: Lists, Tuples and Sets
2.1. Exercises
3. Python Data Structures: Dictionaries
3.1. Exercises
4. Dataframes, Series and Column dtypes
4.1. Exercises
5. Python Operations
5.1. Exercises
6. Operations with Columns
6.1. Exercises
7. Splitting a Column
7.1. Exercises
8. What Did We Just Learn?
M5: Making Choices and Repeating Iterations
0. Module Learning Outcomes
1. Making Choices with Conditional Statements
1.1. Exercises
2. Repeated Iterations (Loops)
2.1. Exercises
3. Range, Dictionaries and Comprehensions
3.1. Exercises
4. Nested Loops
4.1. Exercises
5. Repeated Iterations with Conditions
5.1. Exercises
6. Functions
6.1. Exercises
7. What Did We Just Learn?
M6: Functions Fundamentals and Best Practices
0. Module Learning Outcomes
1. DRY Revisited and Function Fundamentals
1.1. Exercises
2. Default Arguments
2.1. Exercises
3. Function Docstrings
3.1. Exercises
4. Defensive Programming using Exceptions
4.1. Exercises
5. Unit tests
5.1. Exercises
6. Good Function Design Choices
6.1. Exercises
7. What Did We Just Learn?
M7: Importing Files and the Coding Style Guide
0. Module Learning Outcomes
1. Importing Python Libraries
1.1. Exercises
2. Working with Other Files
2.1. Exercises
3. Testing Your Own Functions with Pytest
3.1. Exercises
4. Automatic Style Formatting
4.1. Exercises
5. Formatting That Can’t Be Fixed Automatically
5.1. Exercises
6. The Python Debugger
6.1. Exercises
7. What Did We Just Learn?
M8: A Slice of NumPy and Advanced Data Wrangling
0. Module Learning Outcomes
1. NumPy and 1D Arrays
1.1. Exercises
2. Multi-dimensional Arrays
2.1. Exercises
3. Working with Null Values
3.1. Exercises
4. Working with Dates and Time
4.1. Exercises
5. Introduction to Working with Strings
5.1. Exercises
6. More Advanced String Processing
6.1. Exercises
7. What Did We Just Learn?
Bonus Module
0. Python Vibe Coding Tutorial
Module Closing Remarks
0. Congratulations!
2.1. Exercises
Importing Your Own Functions Questions
More Importing Your Own Functions Questions
2. Working with Other Files
3. Testing Your Own Functions with Pytest