Episode 217: Packaging Data Analyses & Using pandas GroupBy
The Real Python Podcast
Aug 16, 2024 55m
What are the best practices for organizing data analysis projects in Python? What are the advantages of a more package-centric approach to data science? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
Episode Sponsor:
We discuss Joshua Cook’s recent article “How I Use Python to Organize My Data Analyses.” The article covers how his process for building data analysis projects has evolved and now incorporates modern Python packaging techniques.
Christopher shares his recent video course on grouping real-world data with pandas. The course offers a quick refresher before digging into how to use pandas GroupBy to manipulate, transform, and summarize data.
We also share several other articles and projects from the Python community, including a news roundup, working with JSON data in Python, running an Asyncio event loop in a separate thread, knowing the why behind a system’s code, a retro game engine for Python, and a project for vendorizing packages from PyPI.
This episode is sponsored by Mailtrap.
Course Spotlight: pandas GroupBy: Grouping Real World Data in Python
In this course, you’ll learn how to work adeptly with the pandas GroupBy while mastering ways to manipulate, transform, and summarize data. You’ll work with real-world datasets and chain GroupBy methods together to get data into an output that suits your needs.
Topics:
- 00:00:00 – Introduction
- 00:02:18 – Setuptools Breaks Things, Then Fixes Them
- 00:04:57 – PEP 751: A File Format to List Python Dependencies
- 00:07:04 – Python 3.13.0 Release Candidate 1 Released
- 00:07:15 – Python Insider: Python 3.12.5 released
- 00:07:22 – Django 5.1 released - Django Weblog
- 00:07:27 – Django security releases issued: 5.0.8 and 4.2.15
- 00:07:49 – How I Use Python to Organize My Data Analyses
- 00:13:45 – Sponsor: Mailtrap
- 00:14:21 – pandas GroupBy: Grouping Real World Data in Python
- 00:20:33 – Working With JSON Data in Python
- 00:25:01 – Asyncio Event Loop in Separate Thread
- 00:30:33 – Video Course Spotlight
- 00:31:47 – Habits of great software engineers
- 00:49:17 – pyxel: A Retro Game Engine for Python
- 00:52:36 – python-vendorize: Vendorize Packages From PyPI
- 00:54:18 – Thanks and goodbye
News:
- Setuptools Breaks Things, Then Fixes Them – This post is Bite Code’s monthly summary, but the lead story happened just days ago. In line with a 7 year old deprecation, setuptools finally removed the ability to call its
test
command. Many packages promptly broke. The following day the change was undone. - PEP 751: A File Format to List Python Dependencies for Installation Reproducibility (New) – This PEP proposes a new file format for dependency specification to enable reproducible installation in a Python environment.
- Python 3.13.0 Release Candidate 1 Released
- Python Insider: Python 3.12.5 released
- Django 5.1 released - Django Weblog
- Django security releases issued: 5.0.8 and 4.2.15 - Django Weblog
Show Links:
- How I Use Python to Organize My Data Analyses – This is a description of how Joshua uses Python in a package-centric way to organize his approach to data analyses. This is a system he has evolved while working on his computational biology Ph.D. and working in industry.
- pandas GroupBy: Grouping Real World Data in Python – In this course, you’ll learn how to work adeptly with the pandas GroupBy while mastering ways to manipulate, transform, and summarize data. You’ll work with real-world datasets and chain GroupBy methods together to get data into an output that suits your needs.
- Working With JSON Data in Python – In this tutorial, you’ll learn how to read and write JSON-encoded data in Python. You’ll begin with practical examples that show how to use Python’s built-in “json” module and then move on to learn how to serialize and deserialize custom data.
- Asyncio Event Loop in Separate Thread – Typically, the asyncio event loop runs in the main thread, but as that is the one used by the interpreter, sometimes you want the event loop to run in a separate thread. This article talks about why and how to do just that.
Discussion:
Projects:
Additional Links:
- Everyday Project Packaging With pyproject.toml – Real Python
- Packaging Your Python Code With pyproject.toml - Complete Code Conversation - YouTube
- Episode #197: Using Python in Bioinformatics and the Laboratory – The Real Python Podcast