Python Pandas - Compute indexer and mask for new index even for non-uniquely valued objects



To compute indexer and mask for new index even for non-uniquely values objects, use the index.get_indexer_non_unique() method.Python Pandas - Compute indexer and mask for new index even for non-uniquely valued objects

At first, import the required libraries −

import pandas as pd

Creating Pandas index with some non-unique values −

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

Display the Pandas index −

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

Compute indexer and mask. Marked by -1, as it is not in index. This also computes non-unique Index object values −

print("\nGet the indexes...\n",index.get_indexer_non_unique([30, 40, 90, 100, 50, 60])) 

Example

Following is the code −

import pandas as pd # Creating Pandas index with some non-unique values index = pd.Index([10, 20, 30, 40, 40, 50, 60, 60, 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 # Marked by -1, as it is not in index # This also computes non-unique Index object values print("\nGet the indexes...\n",index.get_indexer_non_unique([30, 40, 90, 100, 50, 60]))

Output

This will produce the following output −

Pandas Index... Int64Index([10, 20, 30, 40, 40, 50, 60, 60, 60, 70], dtype='int64') Number of elements in the index... 10 Get the indexes... (array([ 2, 3, 4, -1, -1, 5, 6, 7, 8], dtype=int64), array([2, 3], dtype=int64))
Updated on: 2021-10-14T08:41:57+05:30

133 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements