• Home
  • Technology

By Theodore Petrou, Data Scientist

Build an Interactive Data Analytics Dashboard with Python

Language: English
All Levels

Course description

This course teaches you all of the skills to build interactive data analytics dashboards with Python. Specifically, you will be building a Coronavirus Forecasting Dashboard that shows historical and predicted values for deaths and cases for all countries in the world and US states from the ongoing coronavirus pandemic. The final product will be a live dashboard, automatically updated daily, hosted on a remote server for anyone, anywhere in the world to see! You will learn and complete the entire process for building the dashboard including the following topics: Getting, Cleaning, and Transforming the Data - You will learn how to collect the data, find and clean bad data, and transform it so that it can be used for building models capable of prediction. Data Smoothing - You will learn several different techniques such as LOWESS to smooth the jagged raw data so that the model can better detect trends. Exponential Growth and Decline Models - You will begin modeling coronavirus cases for each area of the world with these simple models that can capture a single exponential growth or decline phase, but not both. Logistic Growth Models - You will learn about a separate class of "S-Curve" models capable of capturing both exponential growth and decline in the same model. Modeling New Waves - Coronavirus cases appear in waves over different time periods. You will learn how to change your model so that it can detect any number of new waves in the future. Encapsulation into Classes - After selecting your model, you will encapsulate all of the code together into Python classes, eventually to be used in your final production code. Visualizations with Plotly - You will learn how to use the Plotly Python library to create interactive data visualizations targeted for the web HTML and CSS - You are building a web application and will learn the fundamentals of HTML and CSS to help add customization with the help of Dash. Building the Dashboard with Dash  - You will learn how to build all of the components and interactivity of the dashboard with the Dash Python library. Deployment - One of the most exciting parts of a project is deploying it on your own server for the world to see. You will learn two different deployment options - one simple and the other more complex, but with more flexibility. What's Included? This course comes with a massive amount of material including: 13 Jupyter Notebooks 26 Exercises with detailed solutions 200 page PDF of the entire course content All production code for the dashboard Technologies used All code for developing the dashboard will be done using Python Pandas will be used extensively for analyzing and transforming data Statsmodels will be used for smoothing Scipy will be used for building the models for coronavirus cases and parameter optimization Matplotlib will be used in the notebooks for static visualizations Plotly will be used for interactive data visualizations that appear in the dashboard Dash will be used for building the dashboard itself HTML/CSS will be used together with Dash to customize components of the dashboard You'll learn how to set up your own Linux Ubuntu server to run your dashboard

Related Skills

Course overview - 40

  • Section 1: Getting Started

  • Exploring the Course Material

  • Creating the Virtual Environment (fast)

  • Launching and Exploring the Dashboard

  • Section 2: Getting the Data

  • Section 3: Data Cleaning and Transformation

  • Aggregate Repeating Areas

  • Section 4: Data Smoothing

  • Section 5: Exponential Growth and Decline Models

  • Automate Model Training

  • Plotting Actual vs Prediction

  • Section 6: Logistic Growth Models

  • Section 7: Modeling New Waves

  • Automating Parameter Bounds

  • Section 8: Encapsulating into Classes

  • Instantiating and Running DeathsModel

  • Section 9: Running all of the Code

  • Section 10: Visualization with Plotly

  • Creating a Figure with Multiple Traces

  • Adding Annotations

  • Section 11: Intro to HTML and CSS

  • Unordered and Ordered Lists and List Items

  • Block vs Inline Elements

  • Changing Display from Block to Inline

  • Section 12: Building the Dashboard with Dash

  • Creating Tabs

  • Interactivity Using Callbacks

  • Opening dashboard.py

  • Creating the Navigation Bar

  • Creating the Cards

  • CSS Variables

  • Tab CSS

  • Section 13: Deployment

  • Change the Working Directory

  • Verify Dashboard is Up and Running

  • Launch Ubuntu Server

  • Updating and Upgrading with apt

  • Transfer project files to server (Windows)

  • Configure NginX to Communicate with Gunicorn

  • Conclusion and Improvements

Learners who have already enrolled in this course

Meet your instructor

Theodore Petrou
Theodore PetrouData Scientist
My goal as teacher and author is to provide a comprehensive path to mastering the python data science ecosystem so that you can feel confident to produce trusted results. I am the author of the highly rated texts Pandas Cookbook, Master Data Analysis with Python, and Build an Interactive Data Analytics Dashboard with Python. I have taught hundreds of students Python and data science during in-person classroom settings. I see first hand exactly where students struggle and continually upgrade my material to minimize these struggles by providing simple and direct paths forward. I am one of the foremost authorities on using the pandas library to do data analysis. My blog posts have totaled well over 2 million views. I am also a prolific contributor on Stack Overflow having answered over 400 questions. I hold a master's degree in statistics from Rice University and am the founder of Dunder Data, a professional data science training company.