Python Pandas - Compute indexer and find the nearest index value if no exact match


To compute indexer and find the nearest index value if no exact match, use the index.get_indexer() method. Also set the method parameter to nearest.

At first, import the required libraries −

import pandas as pd

Creating Pandas index −

index = pd.Index([10, 20, 30, 40, 50, 60, 70])

Display the Pandas index −

print("Pandas Index...\n",index)

Compute indexer and mask using the "get_indexer. Find the nearest index value if no exact match using the "method" parameter. The value is set "nearest" −

print("\nGet the indexes...\n",index.get_indexer([30, 25, 58, 50, 69], method="nearest"))

Example

Following is the code −

import pandas as pd

# Creating Pandas index
index = pd.Index([10, 20, 30, 40, 50, 60, 70])

# Display the Pandas index
print("Pandas Index...\n",index)

# Return the number of elements in the Index
print("\nNumber of elements in the index...\n",index.size)

# Compute indexer and mask using the "get_indexer"
# Find the nearest index value if no exact match using the "method" parameter.
# The value is set "nearest"
print("\nGet the indexes...\n",index.get_indexer([30, 25, 58, 50, 69], method="nearest"))

Output

This will produce the following output −

Pandas Index...
Int64Index([10, 20, 30, 40, 50, 60, 70], dtype='int64')

Number of elements in the index...
7

Get the indexes...
[2 2 5 4 6]

Updated on: 14-Oct-2021

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements