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

Compute the symmetric difference of two Index objects.

otherIndex or array-like
sortFalse 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 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')