Hi Reader!
In case you missed last week's announcement, I'll be sharing a new data science tip with you every Tuesday!
Python introduced f-strings back in version 3.6 (six years ago!), but I've only recently realized how useful they can be.
Let's start with some simple examples of how they're commonly used, and then I'll end with a real-world example (using pandas).
To make an f-string, you simply put an "f" in front of a string. By putting the "name" and "age" objects inside of curly braces, those objects are automatically substituted into the string.
Strings have an upper() method, and so I was able to call that method on the "role" string from within the f-string.
You can evaluate an expression (a math expression, in this case) within an f-string.
This looks much nicer, right? The colon begins the format specification, and the ".1%" means "format as a percentage with 1 digit after the decimal point."
🔗 Guide to f-strings (written by my pal Trey Hunner)
🔗 f-string cheat sheet (also by Trey)
Recently, I was analyzing the survey data submitted by 500+ Data School subscribers. I asked each person about their level of experience with 11 different data science topics/tools, plus their level of interest in improving those skills this year.
Thus I had 22 columns of data, with names like “python_experience”, “python_interest”, “pandas_experience”, “pandas_interest”, etc.
Each “experience” column was coded from 0 (None) to 3 (Advanced), and each “interest” column was coded from 0 (Not interested) to 2 (Definitely interested).
Among other things, I wanted to know the mean level of interest in each topic, as well as the mean level of interest in each topic by experience level.
Here's what I did to answer those questions:
(The “cats” list actually had 11 categories, so the loop allowed me to examine all of the categories at once.)
Notice how I used f-strings:
🧵 Because of the naming convention, I could access the DataFrame columns using df[f'{cat}_interest'] and df[f'{cat}_experience']
🧵 I capitalized the category using f'{cat.upper()}' to help it stand out
🧵 I formatted the mean interest to 2 decimal places using f'{mean_interest:.2f}'
How helpful was today’s tip?
Do you have a favorite use for f-strings? Click reply and let me know!
See you next Tuesday!
- Kevin
P.S. Did someone awesome forward you this email? Sign up here to receive data science tips every week!
Join 25,000+ intelligent readers and receive AI tips every Tuesday!
Hi Reader, On Friday, I announced my forthcoming book, Master Machine Learning with scikit-learn. In response, my Dad asked me: How does the subject of this book relate to Artificial Intelligence? In other words: What's the difference between AI and Machine Learning? Ponder that question for a minute, then keep reading to find out how I answered my Dad... 👇 AI vs Machine Learning Here's what I told my Dad: You can think of AI as a field dedicated to creating intelligent systems, and Machine...
Hi Reader, Yesterday, I posted this announcement on LinkedIn and Bluesky and X: Kevin Markham @justmarkham Dream unlocked: I'm publishing my first book! 🎉🎉🎉 It's called "Master Machine Learning with scikit-learn: A Practical Guide to Building Better Models with Python" Download the first 3 chapters right now: 👉 https://dataschool.kit.com/mlbook 👈 Thanks for your support 🙏 1:47 PM • Sep 11, 2025 1 Retweets 5 Likes Read 1 replies This has been a dream of mine for many years, and I'm so excited...
Hi Reader, Hope you’ve had a nice summer! ☀️ As for me, I’ve been finishing my first ever book! I can’t wait to tell you about it and invite you to be part of the launch… stay tuned 👀 Today's email focuses on a single important topic: AI’s impact on your mental health 🧠 Read more below! 👇 Sponsored by: Morning Brew The 5-Minute Newsletter That Makes Business Make Sense Business news doesn't have to be dry. Morning Brew gives you the biggest stories in business, tech, and finance with quick...