Educational Cards
Learn from video content, text, and interactive tasks
Filters
Python dataclasses for trusted domain objects
After external data passes boundary validation, it enters your system as a trusted domain object —...
Pydantic for boundary validation
When a JSON payload, a CSV row, or an API response hits your system, you have no guarantee about...
ORM: bridging objects and SQL with SQLAlchemy
Software objects and relational tables represent data in fundamentally different ways. In Python, a...
Selecting data with loc, iloc, and boolean indexing
Three selection tools live side by side in pandas, and confusing them is one of the most common...
Creating and modifying DataFrame columns
The simplest thing you do with a DataFrame is derive new columns from existing ones, and the...
Merging and concatenating DataFrames
Data rarely lives in one table. Customers are in one CSV, their orders in another, product details...
GroupBy: split-apply-combine in pandas
Almost every analytical question sounds like "for each category, compute something": total sales...
Vectorized string operations with .str
String cleaning is the unglamorous core of most data pipelines: phone numbers arrive with dashes...
Reshaping: pivot tables and melt
Data comes in two shapes and you will constantly convert between them. Wide format puts each...
Why pandas uses columnar storage
You hand someone a spreadsheet of 50 000 rows and ask "what's the average age?" They don't read...
Vectorized operations vs apply in pandas
The performance gap between vectorized pandas code and row-wise apply is not 2x or 5x — it is often...
Dates and times in pandas
Dates arrive as strings, get stored as objects, and break when you try to subtract them. The entry...