Raahaao Code: Python for Data
Clean, question and chart real data with pandas.
9+ hours of lessons · 2 projects · €35
Helps you prepare for: PCED – Certified Entry-Level Data Analyst with Python (Python Institute)
Or get it in a monthly plan from €3.46 a week (billed €15 monthly) →
You need an account to open any lessons. Without one you can browse the towers and prices.
What you'll learn, floor by floor
- 1
Data basics (Beginner)
- What data analysis is
- Reading CSV: DataFrames and Series
- Selecting rows and columns
- 2
Cleaning (Beginner)
- Missing values and wrong types
- Text and dates in data
- Sorting, filtering, new columns
- 3
Answering questions (Intermediate)
- groupby and aggregation
- Merging and joining tables
- Pivot tables and reshaping
- 4
Showing results (Intermediate)
- Charts with matplotlib
- Choosing the right chart
- Basic statistics
- 5
Pro (Job-ready)
- Time series
- NumPy underneath pandas
- Reproducible analysis
- Telling the story
The two rooftop projects
Sales analysis
Analyse a fictional coffee roaster’s sales file by cleaning inconsistent dates, text, and numeric fields before answering business questions. You will compare monthly revenue, product performance, weekdays, and returning customers.
- load_clean(path) returns a cleaned DataFrame with parsed dates, standardised customer and product names, numeric quantity and price, and a revenue column; rows missing required fields or with non-positive quantity or price are removed
- revenue_by_month(df) returns a pandas Series of revenue totals indexed by sorted YYYY-MM strings
- top_products(df, n) returns a list of product names ordered by total revenue, highest first
- best_weekday(df) returns the English weekday name with the highest total revenue
- repeat_customers(df) returns the number of customers with at least two cleaned sales
- make_charts(df) creates three charts titled Monthly coffee revenue, Revenue by coffee product, and Top customers by revenue
City bikes study
Analyse a fictional city bike-share dataset with pandas. You will rank stations, summarize daily demand, compare rainy and dry days, and identify the busiest start hour.
- busiest_stations(trips, stations, n) returns a DataFrame with station names and trip counts, ordered highest first; a trip counts once at its start and once at its end.
- trips_per_day(trips) returns a Series indexed by date in ascending order, with the number of trips on each date.
- rain_effect(trips, weather) returns the percentage change in mean daily trips on rainy versus dry dates, rounded to 2 decimal places; rainy means rain_mm > 0, and only dates represented in both tables are used.
- peak_hour(trips) returns the integer hour with the most trip starts; ties go to the earlier hour.
- round_trips(trips) returns the number of rows whose start_station equals end_station.
- summary(trips, stations, weather) returns exactly five lines: Trips: N; Stations: N; Busiest station: NAME (N visits); Rain effect: N.NN%; Peak hour: HH:00. Use the actual calculated values.
Questions
Do I need to install anything?
No. Everything runs in your browser. For the projects you can also work on your own computer and upload your files.
Can I skip what I already know?
Yes. Once you own a tower, each floor has a skip test: score 8 out of 10 and that floor opens.
What is the refund policy?
Refunds within 5 days of purchase. After 5 days, no refunds or returns.
Do I keep access?
Yes. A tower you buy is yours, with no subscription.
The towers
HTML & CSS · JavaScript · Python · SQL · C++ · Node.js · Flask · Logic & Problem Solving · Algorithms & Data Structures · Java · Machine Learning · Building with AI