Python Pandas - Compute the symmetric difference of two Index objects and unsort the result



To compute the symmetric difference of two Index objects and unsort the result, use the symmetric_difference() method in Pandas. To unsort, use the sort parameter and set to False.

At first, import the required libraries −

import pandas as pd

Creating two Pandas index −

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

Display the Pandas index1 and index2 −

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

Perform symmetric difference. Unsort the result using the "sort" parameter with value False −

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

Example

Following is the code −

import pandas as pd

# Creating two Pandas index
index1 = pd.Index([50, 30, 20, 40, 10])
index2 = pd.Index([40, 10, 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)

# Perform symmetric difference
# Unsort the result using the "sort" parameter
res = index1.symmetric_difference(index2, sort=False)

# Symmetric difference of both the indexes
print("\nThe index1 and index2 symmetric difference with unsorted result...\n",res)

Output

This will produce the following output −

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

Number of elements in index1...
5

Number of elements in index2...
5

The index1 and index2 symmetric difference with unsorted result...
Int64Index([50, 30, 60, 55], dtype='int64')

Advertisements