Great Tables
Episode #492,
published Thu, Jan 30, 2025, recorded Thu, Dec 19, 2024
Join me as I chat with Rich Iannone and Michael Chow from Posit where we explore the transformative power of data tables with the Great Tables library. We'll cover practical applications of Great Tables, showcasing how thoughtful design and advanced formatting can elevate your data presentations. And you'll learn about innovative features like nano plots and interactive elements and the importance of structure, format, and style in crafting tables that both inform and inspire. Whether you're a seasoned data scientist or just starting out, this episode is packed with valuable tips and inspiring examples to enhance your data storytelling.
Episode Deep Dive
In this episode, Rich Iannone and Michael Chow (both from Posit) join the show to discuss the Great Tables Python library and how it helps developers create attractive, informative, and reproducible data tables. Here are the key points and takeaways:
1. Origins and Motivation
- Rich’s background: Began by developing a similar library for R (called GT), inspired by frequent table creation during his PhD and a deep dive into tabular design references (such as a 1949 U.S. Census style guide).
- Michael’s involvement: Brought experience from data science in both R and Python and helped adapt the original R concepts into Python.
2. Why Tables Matter
- Underestimated Complexity: Tables can be as expressive as charts, but are often overlooked. Even a simple table can convey hierarchy, structure, and storytelling.
- Design Patterns: Emphasis on elements like spanner labels (grouping columns under a shared heading), titles, subtitles, footnotes, and source notes that elevate plain data frames into more polished, communicative tables.
3. Great Tables Library (Python)
- Conceptual Similarities to R’s GT: Great Tables for Python continues the same philosophy—making table creation reproducible, flexible, and visually compelling.
- Data Frame Integration:
- Pandas and Polars are directly supported.
- Polars is highlighted for its convenient “selector” syntax and expressions that make styling and transformations more concise.
- Formatting Options:
fmt_*
methods handle numbers, dates, and even images or flags.- Supports markdown in references and footnotes.
- Nano plots (tiny inline graphs like bar charts) can be embedded directly into table cells for quick visual context.
- Output Destinations:
- Renders nicely in Jupyter notebooks.
- Can produce HTML (including fully inlined CSS for email compatibility).
- Exports to image or PDF.
- Has a LaTeX option (helpful for academic writing).
Links and Resources
- Great Tables on GitHub: github.com/posit-dev/great-tables-py
- Polars: www.pola.rs/
- Posit (formerly RStudio): posit.co
- Quarto (used to build the Great Tables documentation site): quarto.org
- Tidy Tuesday (referenced as a data inspiration source): github.com/rfordatascience/tidytuesday
- ReactablePy (interactive tables in Python, also mentioned): github.com/posit-dev/reactable-py
4. Contests and Community
- Table Contests: Organized by Posit to encourage creative uses of GT and Great Tables. Participants submit unique, compelling designs—often blending text, images, spark bars, and more.
- Contributing: The Great Tables maintainers encourage pull requests, issues, and new ideas, emphasizing that user feedback fuels new features.
Overall Takeaway
Tables are a powerful medium for data storytelling—far more flexible than many expect. By leveraging a library like Great Tables, developers and data scientists can automate, style, and enrich their tables, all while maintaining the reproducibility and clarity that Python workflows demand.
Links from the show
Michael Chow: github.com/machow
Richard Iannone: github.com/rich-iannone
Episode Deep Dives Writeup: talkpython.fm/blog
Great Tables: github.com
Making Beautiful, Publication Quality Tables PyCon talk: youtube.com
Andrew Weatherman's Visualization Gallery: aweatherman.com
Bureau of the Census Manual of Tabular Presentation: census.gov
Table Contest: posit.co
Watch this episode on YouTube: youtube.com
Episode transcripts: talkpython.fm
--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy
Richard Iannone: github.com/rich-iannone
Episode Deep Dives Writeup: talkpython.fm/blog
Great Tables: github.com
Making Beautiful, Publication Quality Tables PyCon talk: youtube.com
Andrew Weatherman's Visualization Gallery: aweatherman.com
Bureau of the Census Manual of Tabular Presentation: census.gov
Table Contest: posit.co
Watch this episode on YouTube: youtube.com
Episode transcripts: talkpython.fm
--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy