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


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

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 previous index value if no exact match using the "method" parameter. The value is set "ffill" −

print("\nGet the indexes...\n",index.get_indexer([30, 20, 75, 80, 50, 59], method="ffill"))

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 previous index value if no exact match using the "method" parameter.
# The value is set "ffill"
print("\nGet the indexes...\n",index.get_indexer([30, 20, 75, 80, 50, 59], method="ffill"))

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 1 6 6 4 4]

Updated on: 14-Oct-2021

236 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements