
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Explore Python fundamentals for data analysis, from setting up Google Colab and Jupyter Notebooks to writing code with print and input, use pandas to clean and analyze datasets for capstone.
Diogo introduces his management and analytics background, detailing data-driven experience from large sales planning to a/b tests, and explains his Betacom restaurant analytics startup optimizing menus and pricing.
Keep this course current for 2026 by sharing ongoing updates and inviting feedback, and anticipate a form in the next lecture for suggestions or resources.
Set up and use Google Colaboratory to program Python, the course’s preferred environment; upload your folder and create a Google Colaboratory file via New > More.
Set up python and jupyter notebook on your laptop with guidance from ChatGPT, and compare with Google Colab. Install python from site, then install jupyter via pip, and run notebooks.
Learn Python for data analysis by mastering essential basics, variables, conditionals, loops, functions, and classes, with hands-on exercises and projects like a delivery system and a virtual escape game.
Explore the basics of communicating with Python through print and input functions, learn about variable types, and tackle hands-on coding exercises in a beginner-friendly, engaging way.
Master the print function in Python to display information, interact with users, and format output using strings, variables, f-strings, and the str function.
Master python print function basics in google colab, including hello world, quotes, multi-line output, variables, type handling, string conversion, and a peek at f-strings.
Master Python's print function with f-strings to create dynamic, elegant output using curly brace placeholders, enabling automated programs that run repeatedly.
Write a Python program to join two strings, like Python and programming, with a space, respecting case sensitivity, and display the concatenated result using the print function.
Practice the print function by displaying the exact sentence 'Learning Python is fun.', ensuring correct capitalization and punctuation, and recognizing Python's case sensitivity through simple output tests.
Learn to print a sentence using Python f-strings by defining name and year variables (name = Python, year = 2023) and printing a sentence with a formatted string.
Learn how to print on multiple lines in Python using the newline escape sequence \n and inline strings, with examples of print statements, triple quotes, and comments.
Learn how the input function works with the print function to collect user data, create interactive, customizable programs, and convert input to integers using the int function for personalized greetings.
This lecture covers the python input function, capturing user input as a string, converting to int for math, and printing a personalized greeting with an f-string, plus google colab exercise.
Learn to use Python's input function to prompt for a name, include a friendly space, and print a dynamic greeting with an f-string for interactive applications.
Create a personalized superhero name in Python by prompting for an adjective and a noun on page 13, then combine them with print and input to display the result.
Discover how small, repeatable habits—driven by cues, cravings, responses, and rewards—are reinforced by dopamine, environment design, two minute rule, friction reduction, temptation bundling, and habit tracking to sustain change.
Explore Python data types and operators, understand integers, floats, strings, booleans, and how arithmetic and comparison work, building blocks for more complex apps and projects like a compound interest calculator.
Explore Python variable types—integers, floats, strings, and booleans—their characteristics, and how to manipulate them in real-world data apps, including handling numbers stored as strings.
Explore how to identify and transform Python variable types using type(), print(), f-strings, and conversions between int, float, string, and bool, with practical notebook examples.
Explore Python comparison operators by declaring x = 5 and y = 3, then evaluate equals, not equal, greater than, and less than or equal to.
Declare a float variable in Python set to 999, convert it to an int and back to a float, then print all values and verify tests pass.
Explore Python arithmetic operators, including addition, subtraction, multiplication, division, modulus, exponentiation, and floor division, plus compound assignments for data analysis tasks.
Explore Python arithmetic operators, including addition, subtraction, multiplication, division, modulus, floor division, and exponentiation, with practical variable examples and compound assignments like += and x = x + 8.
Explore basic arithmetic operations by implementing addition, subtraction, multiplication, and division on two numbers, verify results with tests, and print outputs to confirm correct behavior.
Explore compound interest by calculating the accumulated amount of a $1000 principal at 4 quarterly compounding over five years, using the formula and a Python demonstration to output an integer.
Master Python's comparison operators to compare values and produce true or false, using equal, not equal, greater than, less than, and their inclusive forms with x and y.
Explore Python comparison operators for data analysis, including assignment versus equality, boolean results, and comparisons like >, <, >=, <=, and !=, with practical examples using x=5 and y=3.
Practice a basic Python comparison check by testing if a is greater than five and printing the result. Run the tests to confirm the output is True.
Compare two values in Python using the not equal operator, print the result, and verify that ten is not five, with tests passing.
Practice basic Python comparisons by testing equality and equivalence, printing results, and confirming a false outcome while avoiding common mistakes.
Build a Python tip calculator that prompts for meal cost, tip percentage, and party size, then computes tip amount, total cost with tip, and cost per person.
Walk through building a monthly savings calculator to reach retirement goals by prompting for age, retirement age, desired amount, and rate—computing months left and ideal monthly savings with compound interest.
Watch a Google Sheets demonstration of a monthly savings plan with 1795.25 and 384 months left. See how 0.1/12 monthly rate yields 43,000 at retirement, illustrating the formula in action.
Master Python conditionals with if/elif/else and boolean logic through real-world examples like salary-based color coding and tax brackets, enabling clear decision pathways in data analytics apps.
Master Python for data analysis and business analytics 2025 teaches if else conditions, including if, elif, and else, with voting eligibility and A-to-F grading examples.
Explore Python if-else flow, using if, elif, and else with dynamic f-strings, showing condition order, coverage of all cases, and practical exercises.
Implement an if-else in Python to determine voting eligibility with 18 as the threshold, printing whether you are eligible to vote or not eligible to vote.
In this Python challenge, implement club entry logic with age checks (18–60) and a 200-person capacity using input and print, to determine access and show appropriate messages.
Level up your Python skills with intermediate concepts, including while loops, lists, dictionaries, for loops, and functions, and explore randomization with the random module, Fibonacci numbers, and recipe converter projects.
Explore while loops in Python, understanding their syntax, indentation, and how a condition governs repeated execution, illustrated with an Uber car carrying four people or less.
Practice Python while loops through four challenges, using files to work with lists, dictionaries, and functions. Learn to control loops, increment counters, and print even numbers until 20 with f-strings.
Build a Python countdown timer that prints t-minus seconds and liftoff, add pizzazz with an f-string, and demonstrate time.sleep and the random and time modules in a while loop.
Master Python lists as built-in, ordered, mutable containers for items of different data types. Learn indexing, slicing, modifying, and removing, plus how to append with the append method or the plus operator.
Learn Python lists by creating a simple list with numbers, strings, booleans, then index (zero-based), slice, modify, append, concatenate, and remove items with del, remove, and pop; lists are mutable.
Learn to compute total expenses by summing a list, print results with an f-string, and calculate the average monthly spending using the list length in Python.
Learn to print the first ten fibonacci numbers in python by building a list, using a while loop, and updating the sequence with first, second, and third values.
Explore randomization and master Python's built-in random module to generate numbers, shuffle lists, and sample data for unbiased, representative analytics.
Master Python's random module to generate a random float between 0 and 1, fetch random integers with randint, and perform sampling, shuffling, and random selection from lists.
Learn to randomly select and announce movies from a remaining list with a while loop, and build a 1–100 secret number guessing game with five attempts, user input, and hints.
Create a Python guessing game using the built-in random module to generate a secret number 1–100, with five attempts, input prompts, higher/lower hints, and win/lose outcomes.
Explore dictionaries as mutable, ordered key-value data structures and learn to create, access, update, and delete entries for data analysis with curly braces, colons, and the delete keyword.
Learn to build Python dictionaries with key-value pairs, add and update entries, access keys and values, and delete items using both curly-brace syntax and the dict function.
Build a Python program that translates pet sounds using a dictionary, with user input and f-strings. Then tackle the budget mastermind to categorize expenses and income and compute a balance.
Build a Python budget tracker by designing income and expense data structures, handling user input in a while loop, recording transactions with sources and categories, and displaying income, expenses, and balance.
Learn to use for loops in Python to iterate over sequences like lists or strings, and use range to repeat code a set number of times.
Master python for loops by iterating over sequences and using range to repeat actions, printing iterations from zero to four, and exploring simple in-loop operations.
Practice summing numbers in Python by building a total_sum variable, looping with range, and handling user input, while debugging runtime errors in Google Colab.
Count character occurrences in a string with a Python dictionary, using input, lowercasing for case-insensitive counts, and f-strings; then build a treasure hunter game with dictionaries and input validation.
Design a Python text adventure by breaking the treasure hunter challenge into tasks, building a dictionary-based game world with locations, options, and an input-driven loop that leads to a treasure.
Discover how Python functions act as building blocks, covering purpose, syntax, and benefits like reusability, organization, and debugging. Learn to use def, call, pass parameters, and return values with examples.
Learn to define and call Python functions, including single and multiple inputs, with print vs return. Explore reusable blocks, f-strings, and basic function exercises.
Define a Python function add with two parameters a and b to return their sum, contrast with print, and show storing the result in a variable to reuse it.
Define a Python vowel counter by normalizing input to lower case, checking each character against 'a', 'e', 'i', 'o', 'u', counting matches, and returning the total vowels.
Learn to convert Fahrenheit to Celsius with a Python function, apply rounding, and build a configurable recipe converter that handles grams, ounces, cups, tablespoons, and teaspoons.
Build a recipe converter function that scales ingredients by a recipe factor, converts them to desired units with a static conversion table, and outputs a converted recipe.
Strengthen your Python intermediate skills with while loops, lists, dictionaries, for loops, and functions, using projects like a countdown timer, expense reports, randomization, and a recipe converter.
Unlock your mind by learning smarter, embracing neuroplasticity, discarding the fixed IQ myth, and boosting purpose and flow through baroque music and focused study strategies.
Boost your learning by submitting the next lecture's feedback form to share what's exciting you and what's missing, helping us power through the remainder with greater energy.
Design a story-driven virtual escape room in Python, using functions, loops, dictionaries, lists, and if-else logic to shuffle puzzles, implement a timer, and reveal the mystery of Mr. White.
Learn to build a Python virtual escape game using a timer, shuffled puzzles, and interactive input to reveal story snippets as players solve challenges.
Build a Python-based virtual escape game using a while loop, deducting time on incorrect answers, tracking elapsed time, displaying remaining time, and ending with a win or time-out message.
Learn to use chatgpt to design and build a story-driven python capstone - a virtual escape room with puzzles, a timer, interactive input, and caesar cipher decryption.
Master object oriented programming with classes in Python by modeling real world entities and creating objects. Explore inheritance, encapsulation, and polymorphism through hands-on Pokemon examples, including private and protected attributes.
Explore how classes serve as blueprints for objects, with an init method initializing name, type, and level, accessed via dot notation. See how objects promote organization, reusability, and scalability.
Define a simple Pokemon class with an init method, instantiate Pikachu, and access attributes like name, type, and level using dot notation and f-strings for display.
Create and use Pokemon objects by instantiating multiple instances, updating levels, listing team details, and simulating battles with a simple level-based comparison.
Master the init method, self, and the distinction between class and instance attributes, then implement methods like display info, level up, and attack using a Pokemon example.
Define a Pokemon class with a class attribute max level of 100 and instance methods to display details and level up with validation, demonstrated on Pikachu and Charmander.
Create a reusable team_summary function that takes a Pokemon list and prints the total number of Pokemon and the team's average level. Validate the function with a sample list.
Build a pokemon class with name, pokemon type, and level, create two pokemon such as Charmander and Squirtle, swap their levels, and print before and after.
Define a filter_by_type function to filter Pokemon by type from a team using a loop and list comprehension, then test by printing fire-type Pokemon.
Implement a Python Pokémon trainer class with an init name and an empty Pokémon team, and an add Pokémon method that appends to the team and prints a confirmation message.
Add an HP attribute to the Pokemon class, implement a take_damage method that deducts HP, clamp to zero, and print a fainted message.
Explore inheritance to create child classes that reuse attributes and methods, and apply polymorphism to treat diverse objects through a common interface, enabling flexible, extensible code.
Learn inheritance by building a base Pokemon class and concrete fire and water subclasses, setting type in subclasses to reduce code repetition, and implementing display and attack methods.
Create a legendary Pokemon subclass that inherits from the Pokemon base class, adds a unique special move attribute, and implements a use special move method.
Learn polymorphism in inheritance by overriding a base class method in electric and water Pokemon, showing customized moves, take damage handling, health, and paralyze effects.
Override the take_damage method in fire and electric pokemon to apply burn or paralyzed effects with a 20% chance, using a random module. Test Charmander and Pikachu to verify effects.
Master Python data analysis concepts through encapsulation and abstraction, learning to protect internal state with protected and private attributes, using public interfaces, and appreciating simple interfaces for complex behavior.
Explore encapsulation and protected attributes in Python, learn how protected attributes are intended for subclass use, and why accessors should manage attribute access, illustrated with a Pokemon example.
Explore protected attributes by building a base Pokemon class and a subclass elemental Pokemon, implementing a move that prints its type, level, and name, using super in init.
Learn how private attributes use double underscores in a Python class, and access them safely through public methods that get and set HP with guardrails, illustrated by a Pikachu example.
Implement private attributes for hp and attack power, create a private apply damage method, and enable an attack that reduces the opponent’s hp while guarding against negative values.
Practice building a Pokemon battle class that uses public methods and private and protected attributes to hide implementation details while calculating damage based on level and attack power.
Learn abstraction by building a Pokemon trainer that manages a battle Pokemon, trains via a private method to raise level and HP, and displays stats with encapsulated access.
Explore classes and objects with practical Pokémon examples, covering attributes, methods, and instantiation. Learn inheritance, polymorphism, encapsulation, and abstraction through public, protected, and private data.
Design a restaurant startup-inspired food delivery system where restaurants manage menus, customers place orders, and drivers track deliveries, using encapsulation, inheritance, and polymorphism.
Build and manage restaurant data with Python by creating a menu item class and a restaurant class, implementing encapsulation, adding and removing items, view menu, and retrieve contact details.
Build a Python customer and order system with a Customer class (name, address, order history) and an Order class (items, restaurant, delivery address).
Explore how a delivery driver class manages assigned orders and current location, with order and customer interactions, including methods to assign orders, update locations, and deliver.
Learn to implement a bike delivery subclass of delivery drivers with private and protected fields, getter methods, and polymorphism, including order assignment, location updates, and a car delivery homework task.
Learn pandas for data manipulation and basic statistics, master linear regression in data analysis, and complete capstone projects, including a diamonds pricing study using carats and clarity.
July 2025
Python Essentials Remake with 13 new videos
New Sections on Regression Analysis and Data Visualizations
More Projects and Coding Exercises
December 2024
Classes and Object-Oriented Programming
Classes Capstone Project
June 2024 - Complete remake of the course with:
Python essentials
Python Intermediate
Pandas
Coding Exercises, Challenges, and Capstone Projects
WHY SHOULD YOU LEARN PYTHON?
Python has become an indispensable tool in business analytics and data analysis, powering decisions in companies of all sizes.
In fact, demand for data professionals is surging – the number of data analyst and scientist job openings is projected to grow 36% between 2023 and 2033, far outpacing the average for all occupations.
Python’s popularity in this field is no coincidence: while R was designed for statistics, Python is now the more popular language for data analytics, prized for its versatility and beginner-friendly learning curve.
For anyone aiming to break into data analytics or enhance their business intelligence skills, mastering Python is a smart move.
WHY SHOULD YOU PICK THIS COURSE?
I am passionate about Python and have crafted this course to share powerful insights that go beyond typical training:
Engaging, Personalized Lessons: As your instructor, I ensure every lesson is engaging, clear, and highly applicable.
Real-World Application: You’ll solve real problems with data, learning skills that you can immediately apply at work or in your projects.
Ongoing Support: Learning doesn’t end when the course does. I offer continued support to help you grow and refine your skills over time.
WHAT YOU WILL LEARN?
Here is a complete list of topics with examples of what you will do
Python fundamentals – input/output, loops, conditionals, functions, and object-oriented programming.
Data wrangling with Pandas – import, clean, merge, aggregate and visualise messy business datasets.
Statistical modelling & regression – from exploratory data analysis to error metrics and dummy-variable traps.
Data-visualization mastery – histograms, violin, ridgeline, bar-lollipop, spider charts that tell persuasive stories.
Automation & scripting – split-bill calculator, budgeting mastermind, recipe converter and more.
Capstone projects – Virtual Escape Game (logic & loops) and Bitte-Eats delivery simulator (classes & OOP).
Put simply, you finish ready to own the analytics pipeline—from raw CSVs to board-ready insights.
WHY LEARN PYTHON WITH ME?
I am a Berlin-based analytics leader who has planned €4 billion in revenue with data-driven decision-making for Europe’s largest e-commerce players and the United Nations.
I have taught over 45 000+ students, with 7 000+ reviews and a 4.5 overall rating.
When you learn with me, you gain:
Battle-tested frameworks drawn from forecasting, econometrics and machine-learning projects.
Storytelling skills that convince managers, not just notebooks that run.
A mentor who answers, not a faceless video voice.
READY TO START YOUR PYTHON JOURNEY?
Don't miss the opportunity to turn data into your most powerful business tool. Enroll today and start your journey toward becoming a Python data analysis expert. Let Python open doors to new possibilities for you and your organization.
Dive in and happy Python learning!