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, Last week, I encouraged you to experiment with different LLMs, since there’s no one model that is superior across all use cases. Specifically, I suggested you try using Chatbot Arena, which allows you to chat with multiple models at once. It’s completely free, but has two significant disadvantages: Your chats are not private and may be used for research. It lacks the feature-rich interface provided by other LLMs. Today, I want to offer you a better method for experimenting with...

Hi Reader, Over the past 50 tips, I’ve touched on many different topics: Python, Jupyter, pandas, ML, data visualization, and so on. Going forward, I’m planning to focus mostly on Artificial Intelligence. I’m announcing this so you know what to expect, and I know what to deliver! 💌 I’ll also try to make the tips shorter, so that they're easier to digest on-the-go. Finally, I plan to include an “action item” each week, so that you can practice what you’re learning. I hope you like these...

Hi Reader, Next week, I’ll be offering a Black Friday sale on ALL of my courses. I’ll send you the details this Thursday! 🚨 👉 Tip #50: What is a "method" in Python? In Python, a method is a function that can be used on an object because of the object's type. For example, if you create a Python list, the "append" method can be used on that list. All lists have an "append" method simply because they are lists: If you create a Python string, the "upper" method can be used on that string simply...