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
.