Indexing in Pandas

Summary : in this tutorial, you’ll learn about the Index object – an important part of pandas.

The Index object

As you already know, Pandas is built on the back of NumPy. Therefore, the Series and DataFrames intherits some important parts from it.

Each axis of a Series and a DataFrame has an Index object that labels the values.

There are many different types of Index objects, but all Index objects, except for the MultiIndex, are single-dimensional data structures, which somehow resemblances a Python list.

For example, we can examine column contents with df.columns.

import pandas as pd # Import data from Open Brewery DB df = pd.read_csv("https://github.com/openbrewerydb/openbrewerydb/raw/master/data/united-states/hawaii.csv") df.columns
Code language: Python (python)
Index(['obdb_id', 'name', 'brewery_type', 'street', 'address_2', 'address_3', 'city', 'state', 'county_province', 'postal_code', 'website_url', 'phone', 'created_at', 'updated_at', 'country', 'longitude', 'latitude', 'tags'], dtype='object')
Code language: Python (python)

Or, you can count total rows in the DataFrame using df.index.

df.index
Code language: Python (python)
RangeIndex(start=0, stop=23, step=1)
Code language: Python (python)

Index basic operations

The Index object can be sliced or extracted using square brackets operator.

import pandas as pd # Import data from Open Brewery DB df = pd.read_csv("https://github.com/openbrewerydb/openbrewerydb/raw/master/data/united-states/hawaii.csv") df.columns[5] # Returns 'address_3' df.columns[1:4] # Returns Index(['name', 'brewery_type', 'street'], dtype='object')
Code language: Python (python)

The Index objects also share many methods as the Series and DataFrames, such as min(), max() or sum().

But if you try to modify a value inside an Index object, you’ll encounter TypeError as Index objects are immutable.

import pandas as pd # Import data from Open Brewery DB df = pd.read_csv("https://github.com/openbrewerydb/openbrewerydb/raw/master/data/united-states/hawaii.csv") df.columns[1] = 'monkeybean'
Code language: Python (python)
TypeError: Index does not support mutable operations
Code language: Python (python)

Note that more information on the Index class can be found at Pandas documentation.

Leave a Comment