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, Here are your top AI stories for the week: ChatGPT can weaken your brain Claude shares nerve gas recipe Amsterdam ends AI experiment due to bias Read more below! 👇 Sponsored by: Brain.fm Transform Your Focus With Brain.fm I know you're always on the hunt for tools that genuinely improve your life—which is why I'm excited to introduce you to Brain.fm's groundbreaking focus music. Brain.fm's patented audio technology was recently validated in a top neuroscience journal, showing how...
Hi Reader, Last week, I invited you to help me test Google's Data Science Agent in Colab, which promises to automate your data analysis. Does it live up to that promise? Let's find out! 👇 Sponsored by: Morning Brew Business news you’ll actually enjoy Join 4M+ professionals who start their day with Morning Brew—a free daily newsletter that makes business, tech, and finance news genuinely enjoyable to read and hard to forget. Each morning, it breaks down complex stories in plain English—cutting...
Hi Reader, Today I'm trying something brand new! I wrote short summaries of the 5 most important AI stories this week, and also turned it into a video: Watch the video I'd love to know what you think! 💬 AI-generated TV ad airs during NBA finals Prediction market Kalshi just aired this AI-generated ad on network TV during the NBA finals. It was created in just two days by one person using Google's new Veo 3 video model, plus scripting help from Google's Gemini chatbot. Expect to see many more...