Python Pandas - Return a new Index with elements of index not in other but unsort the result


To return a new Index with elements of index not in other but unsort the result, use the difference() method. Set the sort parameter to False.

At first, import the required libraries −

import pandas as pd

Creating two Pandas index −

index1 = pd.Index([30, 10, 20, 50, 40])
index2 = pd.Index([80, 40, 60, 20, 55])

Display the Pandas index1 and index2 −

print("Pandas Index1...\n",index1)
print("Pandas Index2...\n",index2)

Get the difference of both the indexes. Results are unsorted using the "sort" parameter with value "False" −

res = index1.difference(index2, sort=False)

Example

Following is the code −

import pandas as pd

# Creating two Pandas index
index1 = pd.Index([30, 10, 20, 50, 40])
index2 = pd.Index([80, 40, 60, 20, 55])

# Display the Pandas index1 and index2
print("Pandas Index1...\n",index1)
print("Pandas Index2...\n",index2)

# Return the number of elements in Index1 and Index2
print("\nNumber of elements in index1...\n",index1.size)
print("\nNumber of elements in index2...\n",index2.size)

# Get the difference of both the indexes
# Results are unsorted using the "sort" parameter with value "False"
res = index1.difference(index2, sort=False)

# Difference of both the indexes i.e. return a new Index with elements of index not in other
print("\nDifference...\n",res)

Output

This will produce the following output −

Pandas Index1...
Int64Index([30, 10, 20, 50, 40], dtype='int64')
Pandas Index2...
Int64Index([80, 40, 60, 20, 55], dtype='int64')

Number of elements in index1...
5

Number of elements in index2...
5

Difference...
Int64Index([30, 10, 50], dtype='int64')

Updated on: 14-Oct-2021

69 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements