Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Numpy setxor1d() Function



The Numpy setxor1d() function computes the symmetric difference between two arrays. It returns a sorted array of unique elements that are present in either of the input arrays but not in both. This function is useful for identifying elements that are exclusive to one array when comparing two arrays.

In general, the setxor1d() function is analogous to the symmetric difference operation in set theory, where A B represents the elements that are in either set A or set B, but not in their intersection.

Syntax

Following is the syntax of the Numpy setxor1d() function −

numpy.setxor1d(ar1, ar2, assume_unique=False)  

Parameters

Following are the parameters of the Numpy setxor1d() function −

  • ar1: The first input array.
  • ar2: The second input array.
  • assume_unique (optional): If True, the input arrays are assumed to be unique, which can speed up the calculation. Default is False.

Return Type

This function returns a sorted 1D array containing unique elements that are present in one input array but not in the other.

Example

Following is a basic example of finding the symmetric difference between two arrays using the Numpy setxor1d() function −

import numpy as np
array1 = np.array([10, 20, 30, 40, 50])
array2 = np.array([30, 40, 70])
result = np.setxor1d(array1, array2)
print("Symmetric Difference:", result)

Output

Following is the output of the above code −

Symmetric Difference: [10 20 50 70]

Example: Usage of assume_unique Parameter

When assume_unique is set to True, the function skips internal uniqueness checks, improving performance when the arrays are known to contain unique elements −

import numpy as np  
array1 = np.array([10, 20, 20, 40, 50])  
array2 = np.array([20, 30, 70])  
result = np.setxor1d(array1, array2, assume_unique=True)  
print("Symmetric Difference with assume_unique=True:", result)  

Output

Following is the output of the above code −

Symmetric Difference with assume_unique : [10 30 40 50 70]

Example: Strings Arrays as an Arguments

The setxor1d() function can also be used with string arrays. In the following example, we have found the elements exclusive to either array1 or array2

import numpy as np  
array1 = np.array(["apple", "banana", "cherry"])  
array2 = np.array(["banana", "grape"])  
result = np.setxor1d(array1, array2)  
print("Symmetric Difference:", result)  

Output

Following is the output of the above code −

Symmetric Difference: ['apple' 'cherry' 'grape']
numpy_array_manipulation.htm
Advertisements