The Real Python Podcast

Automate Exploratory Data Analysis & Invent Python Comprehensions

How do you quickly get an understanding of what’s inside a new set of data? How can you share an exploratory data analysis with your team? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

We discuss a recent Real Python tutorial about YData Profiling. This library lets you quickly generate an exploratory data analysis (EDA) report with a few lines of code. The report provides column-level analysis, visualizations, and summary statistics that can be exported to HTML to share with others.

We cover an article by Trey Hunner about building your own Python comprehensions. Python includes list, dictionary, and set comprehensions. But what if you want to create ones for other collections, such as a tuple, frozenset, or a Counter?

We also share other articles and projects from the Python community, including a collection of recent releases and PEPs, using the Django ORM as a standalone module, a history of attempts to eliminate programmers, a discussion of bad managers, a modern Python project template, and a CLI to summarize code size by language.

This episode is sponsored by AgentField.

Course Spotlight: Understanding Python List Comprehensions

Python list comprehensions make it easy to create lists while performing sophisticated filtering, mapping, and conditional logic on their members. In this course, you’ll learn when to use list comprehensions in Python and how to create them effectively.

Topics:

  • 00:00:00 – Introduction
  • 00:02:46 – Python 3.12.13, 3.11.15, 3.10.20 and Python 3.15.0 alpha 7 Released
  • 00:03:25 – Django Security Releases Issued: 6.0.3, 5.2.12, and 4.2.29
  • 00:03:39 – PEP 825: Wheel Variants: Package Format
  • 00:04:20 – PEP 827: Type Manipulation
  • 00:05:11 – Automate Python Data Analysis With YData Profiling
  • 00:11:31 – Django ORM Standalone: Querying an Existing Database
  • 00:16:43 – Sponsor: AgentField
  • 00:17:42 – Invent Your Own Comprehensions in Python
  • 00:22:34 – A History of Attempts to Eliminate Programmers
  • 00:28:51 – Video Course Spotlight
  • 00:30:03 – Three Bad Managers
  • 00:50:42 – python_template: Modern Python Project Template
  • 00:53:38 – tallyman: CLI to Summarize Code Size by Language
  • 00:55:06 – Thanks and goodbye

News:

  • Python 3.12.13, 3.11.15 and 3.10.20 Released
  • Python 3.15.0 alpha 7 - Python Insider
  • Django Security Releases Issued: 6.0.3, 5.2.12, and 4.2.29
  • PEP 825: Wheel Variants: Package Format (Added)
  • PEP 827: Type Manipulation (Added)

Show Links:

  • Automate Python Data Analysis With YData Profiling – Automate exploratory data analysis by transforming DataFrames into interactive reports with one command from YData Profiling.
  • Django ORM Standalone: Querying an Existing Database – A practical step-by-step guide to using Django ORM in standalone mode to connect to and query an existing database using inspectdb.
  • Invent Your Own Comprehensions in Python – Python doesn’t have tuple, frozenset, or Counter comprehensions, but you can invent your own by passing a generator expression to any iterable-accepting callable.
  • A History of Attempts to Eliminate Programmers – From COBOL in the 1960s to AI in the 2020s, every generation promises to eliminate programmers. Explore the recurring cycles of software simplification hype.

Discussion:

  • Three Bad Managers – Rands in Repose

Projects:

  • python_template: Modern Python Project Template
  • tallyman: CLI to Summarize Code Size by Language

Additional Links:

  • When to Use a List Comprehension in Python – Real Python
  • Understanding Python List Comprehensions – Real Python
  • A Modern Python Stack for Data Projects
  • copier
  • Cookiecutter

Level up your Python skills with our expert-led courses:

  • Understanding Python List Comprehensions
  • How to Set Up a Django Project
  • The pandas DataFrame: Working With Data Efficiently

Support the podcast & join our community of Pythonistas