What is Narwhals? DataFrame compatibility in Python | Cameron Riddell | Data Science Lab

Posit PBC
1,648 views •

DataFrames may not be a native data type in Python, but Narwhals helps you work with them across libraries more easily by providing a zero-dependency compatibility layer for Python package developers! The Data Science Lab is a live weekly call. Register at pos.it/dslab! Discord invites go out each week on lives calls. We'd love to have you! It's is an open, messy space for learning and asking questions. Think of it like pair coding with a friend or two. Learn something new, and share what you know to help others grow. On this call, Cameron Riddell, Tech Lead (and Narwhals Maintainer!) at Don't Use This Code, walks through what Narwhals is and how it helps Python devs to solve the problems that come with working with multiple DataFrame formats from different python libraries. This will help you understand when to reach for Narwhals and when not to. He also has the coolest set-up to run code and share his notes! Hosting crew from Posit: Libby Heeren, Isabella Velasquez Cameron Riddell's socials and urls: GitHub: https://github.com/camriddell LinkedIn: https://www.linkedin.com/in/cameron-riddell/ Resources mentioned in video and/or the chat: Positron Python installations documentation: https://positron.posit.co/python-installations.html#automatic-uv-installation Pixi package manager documentation: https://pixi.prefix.dev/latest/ Accessible coding environments with Docker and Dev Containers (blog post): https://dylanpoulsen.com/posts/2026-03-09-Accessible-Coding-Environments.html Pandas expressions and lambdas blog post: https://www.dontusethiscode.com/blog/2025-06-18_expressions_at_home.html Lambda/Anonymous functions in R and Python: https://lukesingham.com/anonymous-functions-in-r-python/ Modern Pandas introduction: https://tomaugspurger.net/posts/modern-1-intro/ Cameron's Narwhals examples GitHub repo: https://github.com/camriddell/posit-dslab-narwhals-2026-06-30/tree/main Ibis farewell to Pandas post: https://ibis-project.org/posts/farewell-pandas/ Ibis documentation: https://ibis-project.org/ Polars documentation: https://pola.rs/ Marco on The Test Set: https://youtu.be/dotdfMcfw20 Narwhals documentation: https://narwhals-dev.github.io/narwhals/ Marco Gorelli on the Data Science Lab hangout: https://www.youtube.com/watch?v=lhAc51QtTHk tmate terminal sharing tool: https://lolrmm.io/tools/tmate inotify Linux: https://www.man7.org/linux/man-pages/man7/inotify.7.html Zellij terminal workspace: https://zellij.dev/ TMux terminal multiplexer: https://tmux.app/

Keyboard shortcuts

On. Switch them off if they collide with your assistive tools; ? still opens this sheet.

Go to

Press g then the letter.

  • gh Latest
  • gs Sources
  • gm Media
  • gv Videos
  • gp Podcasts
  • gc Calendar
  • gd Decoder
  • gz Dataviz
  • ga Datasets
  • gb Blog
  • gk Markets
  • gj Careers
  • gn Prompt Notebook

On this page

  • / Focus search, where there is one
  • t Back to top
  • ? This list
  • Esc Close