Index.symmetric_difference(self, other, result_name=None, sort=None)[source]

Compute the symmetric difference of two Index objects.

other : Index or array-like
result_name : str
sort : False or None, default None

Whether to sort the resulting index. By default, the values are attempted to be sorted, but any TypeError from incomparable elements is caught by pandas.

  • None : Attempt to sort the result, but catch any TypeErrors from comparing incomparable elements.
  • False : Do not sort the result.

New in version 0.24.0.

Changed in version 0.24.1: Changed the default value from True to None (without change in behaviour).

symmetric_difference : Index


symmetric_difference contains elements that appear in either idx1 or idx2 but not both. Equivalent to the Index created by idx1.difference(idx2) | idx2.difference(idx1) with duplicates dropped.


>>> idx1 = pd.Index([1, 2, 3, 4])
>>> idx2 = pd.Index([2, 3, 4, 5])
>>> idx1.symmetric_difference(idx2)
Int64Index([1, 5], dtype='int64')

You can also use the ^ operator:

>>> idx1 ^ idx2
Int64Index([1, 5], dtype='int64')
Scroll To Top