Tuesday Tip #36: Deciphering the pandas index 🕵️‍♂️


Hi Reader,

Do you have a topic you'd like me to cover in a future tip? Reply and let me know! 💌


🔗 Link of the week

Deep Learning Fundamentals (free course)

Are you interested in getting started with Deep Learning in Python? I haven't taken this course, but it looks promising!

I was thinking of starting a YouTube series in which I work through this course and share some of my learnings (and questions), and then you could follow along at home. Would that be of interest to you?


👉 Tip #36: Eight things you need to know about the pandas index

One aspect of Python's pandas library that can be confusing to newcomers is the concept of the "index". Every pandas DataFrame or Series has an index, and it's used for identification, selection, and alignment.

Here are some key facts about the index that will help you to work with pandas objects more effectively:

1️⃣ The index is on the left

The sequence of numbers on the left side is called the index, and they're used to identify the DataFrame rows. Sometimes they're called the "row labels".

2️⃣ By default, the index is a sequence of integers

Because I didn't define an index when creating the DataFrame, it assigned the numbers 0 through 192 as the index. They're stored in a special object called the "RangeIndex".

3️⃣ The column names are stored in an "Index" object

When people talk about "the index", they're talking about the row labels. But it turns out that the column names are stored in a special type of object called an "Index"!

That being said, you should never refer to the column names as "the index"... just call them "the columns" or "the column names".

4️⃣ The labels are not included in the shape

You should think of the index and columns as labels for the DataFrame. They're not part of the DataFrame "contents", and thus they're not included in its shape.

5️⃣ The index remains with each row

If you filter the DataFrame, the index remains with each row to identify it.

6️⃣ The index can be used for selection

You can use the loc accessor to select one or more rows or columns by label.

7️⃣ You can set a different column as the index

Notice that the default integer index no longer exists.

8️⃣ Setting a meaningful index allows for easier selection

Rather than referring to Brazil as "23" (its previous row label), you can refer to it as "Brazil".


Going further

If you want to learn more about the pandas index, check out these Data School videos:

🔗 What do I need to know about the pandas index? (Part 1)

🔗 What do I need to know about the pandas index? (Part 2)

Are you new to pandas? Stay tuned for my upcoming course, pandas in 30 days! Coming February 2024 🚀


🐊 See you later, alligator!

Did you like this week’s tip? Please forward it to a friend, or share this link in your favorite Slack group. It really helps me out! 🙌

See you next Tuesday!

- Kevin

P.S. AI murder mystery

Did someone AWESOME forward you this email? Sign up here to receive Data Science tips every week!

Learn Artificial Intelligence from Data School 🤖

Join 25,000+ intelligent readers and receive AI tips every Tuesday!

Read more from Learn Artificial Intelligence from Data School 🤖

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...