numpy.logical_xor() in Python (original) (raw)

Last Updated : 29 Nov, 2018

numpy.logical_xor(arr1, arr2, out=None, where = True, casting = ‘same_kind’, order = ‘K’, dtype = None, ufunc ‘logical_xor’) : This is a logical function and it helps user to find out the truth value of arr1 XOR arr2 element-wise. Both the arrays must be of same shape.

Parameters :

arr1 : [array_like]Input array.
arr2 : [array_like]Input array.

out : [ndarray, optional]Output array with same dimensions as Input array, placed with result.

**kwargs : allows you to pass keyword variable length of argument to a function. It is used when we want to handle named argument in a function.

where : [array_like, optional]True value means to calculate the universal functions(ufunc) at that position, False value means to leave the value in the output alone.

Return :

An array with Boolean results of arr1 XOR arr2 element-wise(of the same shape).

Code 1 : Working

import numpy as np

arr1 = [ 1 , 3 , False , 0 ]

arr2 = [ 3 , 0 , True , False ]

out_arr = np.logical_xor(arr1, arr2)

print ( "Output Array : " , out_arr)

Output :

Output Array : [False True True False]

Code 2 : Value Error if input array’s have different shapes

import numpy as np

arr1 = [ 8 , 2 , False , 4 ]

arr2 = [ 3 , 0 , False , False , 8 ]

out_arr = np.logical_xor(arr1, arr2)

print ( "Output Array : " , out_arr)

Output :

ValueError: operands could not be broadcast together with shapes (4,) (5,)

Code 3 : Can check condition

import numpy as np

arr1 = np.arange( 8 )

print ( "arr1 : " , arr1)

print ( "\narr1>3 : \n" , arr1> 3 )

print ( "\narr1<6 : \n" , arr1< 6 )

print ( "\nXOR Value : \n" , np.logical_xor(arr1> 3 , arr1< 6 ))

Output :

arr1 : [0 1 2 3 4 5 6 7]

arr1>3 : [False False False False True True True True]

arr1<6 : [ True True True True True True False False]

XOR Value : [ True True True True False False True True]

References :
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.logical_xor.html#numpy.logical_xor
.