Tuesday Tip #5: Visualize your pandas code 🐼


Hi Reader!

Today’s tip is most useful if you already have some experience with pandas, which is the main data analysis library in Python.

If you’re brand new to pandas, I recommend starting here:

πŸ”— Easier data analysis with pandas (my free video series)

Let’s move on to today's tip!


πŸ‘‰ Tip #5: Visualize your code with Pandas Tutor

In order to progress from pandas beginner to intermediate (and beyond), it’s important to build a mental model of what happens when you run your pandas code.

If you’re struggling to build that mental model, Pandas Tutor might be the perfect tool for you!

For example, if you input code like this:

dogs.groupby('size').mean()

Pandas Tutor outputs a diagram like this:

​Interact with the live diagram​

Or if you input more complex code like this:

titanic.groupby(['Embarked', 'Sex'])['Pclass'].mean().unstack()

Pandas Tutor outputs a multi-step diagram like this:

​Interact with the live diagram​

If you want to explore further, scroll to the bottom of Pandas Tutor and click on one of the many examples.

Once you’ve understood an example, I’d encourage you to change the code and/or the data, and see if the diagram changes in the way that you expect.

You can even paste in your own data! Just open up any CSV file, copy the top few rows (including the header), and paste them in place of the multi-line "csv" string:

Related Projects

​Tidy Data Tutor is very similar, except it’s for R code and the Tidyverse.

​Python Tutor was created by the same author, and it allows you to visualize Python, JavaScript, C, C++, and Java code.

​nbtutor is a Jupyter Notebook extension for visualizing Python code within your notebook.

How helpful was today’s tip?

β€‹πŸ€©β€‹πŸ™‚β€‹πŸ˜β€‹


If you enjoyed this issue, please forward it to a friend! Takes only a few seconds, and it really helps me out πŸ™

See you next Tuesday!

- Kevin

P.S. Whoa, you trained a neural net!

Did someone awesome forward you this email? Sign up here to receive data science tips every week!

Learn Data Science from Data School πŸ“Š

Join 25,000+ aspiring Data Scientists and receive Python & Data Science tips every Tuesday!

Read more from Learn Data Science from Data School πŸ“Š

Hi Reader, Regardless of whether you enrolled, thanks for sticking with me through the launch of my new course! πŸš€ I've already started exploring topics for the next course... πŸ˜„ πŸ”— Link of the week git cheat sheet (PDF) A well-organized and highly readable cheat sheet from Julia Evans, the brilliant mind behind Wizard Zines! πŸ‘‰ Tip #48: Three ways to set your environment variables in Python I was playing around with Mistral LLM this weekend (via LangChain in Python), and I needed to set an...

Hi Reader, Last week, I announced that a new course is coming soon and invited you to guess the topic. Hundreds of guesses were submitted, and four people who guessed correctly got the course for free! (I've already notified the winners.) I'll tell you about the course next week. In the meantime, I've got a new Tuesday Tip for you! πŸ‘‡ πŸ”— Link of the week OpenAI just unleashed an alien of extraordinary ability (Understanding AI) If you're curious about what makes OpenAI's new "o1" models so...

Hi Reader, I'm really proud of this week's tip because it covers a topic (data leakage) that took me years to fully understand. 🧠 It's one of those times when I feel like I'm truly contributing to the collective wisdom by distilling complex ideas into an approachable format. πŸ’‘ You can read the tip below πŸ‘‡ or on my blog. πŸ”— Link of the week Building an AI Coach to Help Tame My Monkey Mind (Eugene Yan) In this short post, Eugene describes his experiences calling an LLM on the phone for coaching:...