Resources for teaching & learning practical data visualization with python.

Overview

Practical Data Visualization with Python

Overview

All views expressed on this site are my own and do not represent the opinions of any entity with which I have been, am now, or will be affiliated.

This repository contains all materials related to a lecture / seminar I teach on practical data visualization with python. What I mean by "practical" is that the materials herein do not focus on one particular library or data visualization method; rather, my goal is to empower the consumer of this content with the tools, heuristics, and methods needed to handle a wide variety of data visualization problems.

If you have questions, comments, or suggested alterations to these materials, please open an issue here on GitHub. Also, don't hesitate to reach out via LinkedIn.

Outline of Materials

Below you'll find a brief outline of the content contained in the four sections of this seminar, along with notebook links, and an example visualization from each section. For each section there is a separate notebook of python code containing all the materials for that section. Each notebook will start with a few setup steps--package imports and data prep mostly--that are almost identical between the notebooks, directly after which comes the content for each section. For information about the data used in these materials, check out the data_prep_nb.ipynb notebook, the easy-to-view version of which is hosted here.

Section 1: Why We Visualize

Here is the link to the easy-to-view notebook for this section of material.
Here is the link to the GitHub-hosted notebook for this section of the material.

  1. The power of visual data representation and storytelling.
  2. A few principles and heuristics of visualization.
  3. The building blocks of visualization explored.

Example Visualization from this Section:

Section 2: Overview of Python Visualization Landscape

Here is the link to the easy-to-view notebook for this section of material.
Here is the link to the GitHub-hosted notebook for this section of the material.

  1. Intro to the visualization ecosystem: python's Tower of Babel.
  2. Smorgasbord of packages explored through a single example viz.
  3. Quick & dirty (and subjective) heuristics for picking a visualization package.

Example Visualization from this Section:

Section 3: Statistical Visualization in the Wild

Here is the link to the easy-to-view notebook for this section of material.
Here is the link to the GitHub-hosted notebook for this section of the material.

  1. Example business use case of data visualization:
    1. Observational:
      • mean, median, and variance
      • distributions
    2. Inferential:
      • parametric tests
      • non-parametric tests

Example Visualization from this Section:

Section 4: Library Deep-Dive (Plotly)

Here is the link to the easy-to-view notebook for this section of material.
Here is the link to the GitHub-hosted notebook for this section of the material.

  1. Quick and simple data visualizations with Plotly Express.
  2. Additional control and complexity with base Plotly.

Example Visualization from this Section:

Homework Exercises

There is a homework associated with these materials, for those interested. Given the open-ended nature of the homework, there is no answer key. That said, if you're working through it and would like some feedback, feel free to reach out to me via LinkedIn.

Here is the link to the easy-to-view homework notebook.
Here is the link to the GitHub-hosted version of the homework notebook.

Setup Instructions

  • clone this repository
  • create a virtual environment using python3 -m venv env
  • activate that virtual environment using source env/bin/activate
  • install needed packages using pip install -r requirements.txt
  • run an instance of jupyter lab out of your virutal env using env/bin/jupyter-lab
  • open and run the four main files of content for this course--one for each section:
    • part_1_main_nb.ipynb
    • part_2_main_nb.ipynb
    • part_3_main_nb.ipynb
    • part_4_main_nb.ipynb
Owner
Paul Jeffries
Trained in intl. econ; started in mortgage finance; dabbled in equities & crypto; now working in banking. I enjoy challenging questions regarding value & risk.
Paul Jeffries
Tandem Mass Spectrum Prediction with Graph Transformers

MassFormer This is the original implementation of MassFormer, a graph transformer for small molecule MS/MS prediction. Check out the preprint on arxiv

Röst Lab 13 Oct 27, 2022
Moscow DEG 2021 elections plots

Построение графиков на основе публичных данных о ДЭГ в Москве в 2021г. Описание Скрипты в данном репозитории позволяют собственноручно построить графи

9 Jul 15, 2022
This package creates clean and beautiful matplotlib plots that work on light and dark backgrounds

This package creates clean and beautiful matplotlib plots that work on light and dark backgrounds. Inspired by the work of Edward Tufte.

Nico Schlömer 205 Jan 07, 2023
Joyplots in Python with matplotlib & pandas :chart_with_upwards_trend:

JoyPy JoyPy is a one-function Python package based on matplotlib + pandas with a single purpose: drawing joyplots (a.k.a. ridgeline plots). The code f

Leonardo Taccari 462 Jan 02, 2023
Lightspin AWS IAM Vulnerability Scanner

Red-Shadow Lightspin AWS IAM Vulnerability Scanner Description Scan your AWS IAM Configuration for shadow admins in AWS IAM based on misconfigured den

Lightspin 90 Dec 14, 2022
Automate the case review on legal case documents and find the most critical cases using network analysis

Automation on Legal Court Cases Review This project is to automate the case review on legal case documents and find the most critical cases using netw

Yi Yin 7 Dec 28, 2022
Extract and visualize information from Gurobi log files

GRBlogtools Extract information from Gurobi log files and generate pandas DataFrames or Excel worksheets for further processing. Also includes a wrapp

Gurobi Optimization 56 Nov 17, 2022
DrawBot lets you draw images taken from the internet on Skribbl.io, Gartic Phone and Paint

DrawBot You don't speak french? No worries, english translation is over here. C'est quoi ? DrawBot est un logiciel codé par V2F qui va prendre possess

V2F 205 Jan 01, 2023
Curvipy - The Python package for visualizing curves and linear transformations in a super simple way

Curvipy - The Python package for visualizing curves and linear transformations in a super simple way

Dylan Tintenfich 55 Dec 28, 2022
又一个云探针

ServerStatus-Murasame 感谢ServerStatus-Hotaru,又一个云探针诞生了(大雾 本项目在ServerStatus-Hotaru的基础上使用fastapi重构了服务端,部分修改了客户端与前端 项目还在非常原始的阶段,可能存在严重的问题 演示站:https://stat

6 Oct 19, 2021
a simple REPL display lib for circuitpython

Circuitpython-termio-lib a simple REPL display lib for circuitpython Fonctions cls clear terminal screen and set cursor on top left : coords 0,0 usage

BeBoXoS 1 Nov 17, 2021
patchwork for matplotlib

patchworklib patchwork for matplotlib test code Preparation of example plots import seaborn as sns import numpy as np import pandas as pd #Bri

Mori Hideto 185 Jan 06, 2023
Tools for writing, submitting, debugging, and monitoring Storm topologies in pure Python

Petrel Tools for writing, submitting, debugging, and monitoring Storm topologies in pure Python. NOTE: The base Storm package provides storm.py, which

AirSage 247 Dec 18, 2021
Pyan3 - Offline call graph generator for Python 3

Pyan takes one or more Python source files, performs a (rather superficial) static analysis, and constructs a directed graph of the objects in the combined source, and how they define or use each oth

Juha Jeronen 235 Jan 02, 2023
Tweets your monthly GitHub Contributions as Wordle grid

Tweets your monthly GitHub Contributions as Wordle grid

Venu Vardhan Reddy Tekula 5 Feb 16, 2022
Python ts2vg package provides high-performance algorithm implementations to build visibility graphs from time series data.

ts2vg: Time series to visibility graphs The Python ts2vg package provides high-performance algorithm implementations to build visibility graphs from t

Carlos Bergillos 26 Dec 17, 2022
RockNext is an Open Source extending ERPNext built on top of Frappe bringing enterprise ready utilization.

RockNext is an Open Source extending ERPNext built on top of Frappe bringing enterprise ready utilization.

Matheus Breguêz 13 Oct 12, 2022
Realtime Web Apps and Dashboards for Python and R

H2O Wave Realtime Web Apps and Dashboards for Python and R New! R Language API Build and control Wave dashboards using R! New! Easily integrate AI/ML

H2O.ai 3.4k Jan 06, 2023
Learn Data Science with focus on adding value with the most efficient tech stack.

DataScienceWithPython Get started with Data Science with Python An engaging journey to become a Data Scientist with Python TL;DR Download all Jupyter

Learn Python with Rune 110 Dec 22, 2022
Debugging, monitoring and visualization for Python Machine Learning and Data Science

Welcome to TensorWatch TensorWatch is a debugging and visualization tool designed for data science, deep learning and reinforcement learning from Micr

Microsoft 3.3k Dec 27, 2022