Python numpy.logical_xor()
numpy.logical_xor(arr1, arr2, out=None, where = True, casting = ‘same_kind’, order = ‘K’, dtype = None, ufunc ‘logical_xor’ ) :这是一个逻辑函数,它帮助用户找出Arr1 XOR Arr2元素的真值。两个数组必须是相同的形状。
参数 :
arr1 :[array_like]输入阵列。
arr2 :[array_like]输入阵列。
out :[ndarray, optional]输出的数组与输入的数组尺寸相同,与结果放在一起。
**kwargs :允许你向一个函数传递长度可变的关键字参数。当我们想在一个函数中处理命名的参数时,它就被使用。
where :[array_like, optional]真值意味着在该位置计算通用函数(ufunc),假值意味着不考虑输出中的值。
返回 :
一个数组,其布尔结果是arr1 XOR arr2的元素相乘(相同形状)。
代码1:
# Python program explaining
# logical_xor() function
import numpy as np
# input
arr1 = [1, 3, False, 0]
arr2 = [3, 0, True, False]
# output
out_arr = np.logical_xor(arr1, arr2)
print ("Output Array : ", out_arr)
输出 :
Output Array : [False True True False]
代码2:如果输入数组的形状不同,则数值错误
# Python program explaining
# logical_xor() function
import numpy as np
# input
arr1 = [8, 2, False, 4]
arr2 = [3, 0, False, False, 8]
# output
out_arr = np.logical_xor(arr1, arr2)
print ("Output Array : ", out_arr)
输出 :
ValueError: operands could not be broadcast together with shapes (4,) (5,)
代码3:可以检查条件
# Python program explaining
# logical_xor() function
import numpy as np
# input
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))
输出 :
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]