expdpy

expdpy — explore panel data interactively

expdpy is an exploratory data analysis toolkit for panel and cross-sectional data, built on modern Python tooling (Plotly, pyfixest, and Great Tables). It pairs composable analytical functions with two no-code web apps, and is a Python port of the ExPanDaR R package.

Get started

What it does

  • Explore — descriptive statistics, correlation matrices, extreme observations, histograms, time and quantile trends, grouped bar/violin charts, and scatter plots with optional LOESS smoothing.
  • Model — multi-way fixed effects with clustered standard errors, publication-ready regression tables, Frisch–Waugh–Lovell partial-regression plots, and outlier treatment (winsorization/truncation).
  • Reproduce — export any session as a Jupyter notebook, Python script, or prepared dataset, and carry configurations between the apps.

A quick taste

import expdpy as ex
from expdpy.data import load_kuznets

df = load_kuznets()  # synthetic 80-country panel
ex.prepare_scatter_plot(
    df, x="log_gdp_pc", y="gini_regional", color="continent", size="population", loess=1
).show()

Two no-code apps

The same analyses are available in the browser through a multipage Streamlit app (deployable to the cloud) and a single-view Shiny for Python app — no coding required.

Example data

expdpy ships with a synthetic Kuznets panel (80 countries, 2015–2025) for illustrating N-shaped inequality curves, plus the Gapminder dataset.

Install

pip install "git+https://github.com/cmg777/expdpy.git"

expdpy is a Python port of the ExPanDaR R package by Joachim Gassen and the TRR 266 project; please cite the original work in research. Released under the MIT License.

Carlos Mendez
Carlos Mendez
Associate Professor of Development Economics

My research interests focus on the integration of development economics, spatial data science, and econometrics to better understand and inform the process of sustainable development across regions.