Python Numpy 逻辑运算符

Python Numpy 的逻辑运算符和逻辑函数是通过真值表(即布尔值 True 或 False)来计算真值。Python Numpy 的逻辑函数包括 logical_and、logical_or、logical_not 和 logical_xor。与其他编程语言一样,Numpy 也有常规的逻辑运算符,如 and、or、not 和 xor。下面的示例将帮助您理解这些 Python Numpy 逻辑函数和逻辑运算符。

Python Numpy logical_and 和 and 运算符

下面示例展示了 Python Numpy logical_and 函数和 Numpy 逻辑 and 运算符的真值表。

import numpy as np
 
print('---logical_and operator Example---')
print('True logical_and True   = ', np.logical_and(True, True))
print('True logical_and False  = ', np.logical_and(True, False))
print('False logical_and True  = ', np.logical_and(False, True))
print('False logical_and False = ', np.logical_and(False, False))
 
print('\n---and operator Example---')
print('True logical and True   = ', (True and True))
print('True logical and False  = ', (True and False))
print('False logical and True  = ', (False and True))
print('False logical and False = ', (False and False))
Python Numpy logical and Operator 1

在此示例中,我们声明了单维、二维和三维的随机值数组。为了生成 随机数组,我们使用了 Python 的 randn 和 randint。接下来,通过对每个数组元素进行给定条件的测试,使用 Python Numpy logical_and 函数来计算真值。

  • np.logical_and(x > 3, x < 10) – 如果 x 中的值大于 3 且小于 10,则返回 True,否则返回 False。
  • np.logical_and(y > 0, y < 0.5) – 如果 y 中的值大于 0 且小于 0.5,则返回 True,否则返回 False。
  • np.logical_and(z > 5, z < 15) – 如果 z 的值大于 5 且小于 15,则返回 True。
import numpy as np
 
x = np.array([5, 0, 8, 2, 22, 7, 4, 11, 9, 1, 6])
print(x)
print('---logical_and result  of an array---\n', np.logical_and(x > 3, x < 10))
print()
 
y = np.random.randn(3, 6)
print(y)
print('\n---logical_and result of Two Dimensional Array--- \n',
      np.logical_and(y > 0,  y < 0.5))
print()
 
z = np.random.randint(1, 20, size = (2, 3, 5))
print(z)
print('\n---logical_and result of Three Dimensional Array---\n',
      np.logical_and(z > 5,  z < 15))
Python Numpy logical and Operator 2

Python Numpy logical_or 和 or 运算符

让我们看看 Python Numpy logical_or 函数和逻辑 or 运算符的真值表。

import numpy as np
 
print('---logical_or operator Example---')
print('True logical_or True   = ', np.logical_or(True, True))
print('True logical_or False  = ', np.logical_or(True, False))
print('False logical_or True  = ', np.logical_or(False, True))
print('False logical_or False = ', np.logical_or(False, False))
 
print('\n---or operator Example---')
print('True logical or True   = ', (True or True))
print('True logical or False  = ', (True or False))
print('False logical or True  = ', (False or True))
print('False logical or False = ', (False or False))
Python Numpy logical or Operator 1

我们将 Python Numpy logical_or 函数应用于一维、二维和三维数组。

  • np.logical_or(x > 8, x < 3) – 如果 Numpy x 中的元素大于 8 或小于 3,则返回 True,否则返回 False。
  • np.logical_or(y < 0, y > 1) – 如果 y 中的元素小于 0 或大于 1,则返回 True,否则返回 False。
  • np.logical_or(z < 10, z > 15) – 如果 z 中的元素小于 10 或大于 15,则返回 True。
import numpy as np
 
x = np.array([5, 0, 8, 2, 22, 7, 4, 11, 9, 1, 6])
print(x)
print('---logical_or result  of an array---\n', np.logical_or(x > 8, x < 3))
print()
 
y = np.random.randn(3, 4)
print(y)
print('\n---logical_or result of Two Dimensional Array--- \n',
      np.logical_or(y < 0,  y > 1))
print()
 
z = np.random.randint(1, 20, size = (2, 3, 5))
print(z)
print('\n---logical_or result of Three Dimensional Array---\n',
      np.logical_or(z < 10,  z > 15))
Python Numpy logical or Operator 2

Python Numpy logical_not 和 not 运算符

以下示例展示了 Python Numpy logical_not 函数和 Python 逻辑 not 运算符的真值表。

import numpy as np
 
print('---logical_not operator Example---')
print('logical_not True   = ', np.logical_not(True))
print('logical_not False  = ', np.logical_not(False))
 
print('\n---not operator Example---')
print('logical not True   = ', not(True))
print('logical not False  = ', not(False))
Python Numpy logical not Operator 1

在这里,我们将 Python Numpy logical_not 函数应用于一维、二维和三维数组。

  • np.logical_not(x > 8) – 如果 x 中的元素不大于 8,则返回 True,否则返回 False。
  • np.logical_not(y > 1) – 如果 y 中的元素不大于 1,则返回 True,否则返回 False。
  • np.logical_not(z < 10) – 如果 z 的三维数组中的每个元素都不小于 10,则返回 True。
import numpy as np
 
x = np.array([5, 0, 8, 2, 22, 7, 4, 11, 9, 1, 6])
print(x)
print('---logical_not result  of an array---\n', np.logical_not(x > 8))
print()
 
y = np.random.randn(3, 4)
print(y)
print('\n---logical_not result of Two Dimensional Array--- \n',
      np.logical_not(y > 1))
print()
 
z = np.random.randint(1, 20, size = (2, 3, 5))
print(z)
print('\n---logical_not result of Three Dimensional Array---\n',
      np.logical_not(z < 10))
Python Numpy logical not Operator 2

Python Numpy 的 and、or 和 not 运算符必须应用于单个值。如果您尝试将 Numpy 逻辑运算符应用于多个值,它将引发 ValueError。

import numpy as np
 
x = np.array([5, 0, 8, 2, 22, 7, 4, 11, 9, 1, 6])
print(x)
print('\nlogical and  = ', ((x > 3) and (x < 10)))
print('\nlogical or  = ', ((x > 3) or (x < 10)))
print('\nlogical not  = ', not(x > 6))
Python Numpy logical Operators

Python Numpy logical_xor 运算符

它显示了 Python Numpy logical_xor 函数的真值表。

import numpy as np
 
print('---logical_xor operator Example---')
print('True logical_xor True   = ', np.logical_xor(True, True))
print('True logical_xor False  = ', np.logical_xor(True, False))
print('False logical_xor True  = ', np.logical_xor(False, True))
print('False logical_xor False = ', np.logical_xor(False, False))
Python Numpy logical xor Operator 1

这是 Python Numpy logical_xor 函数的另一个示例。在这里,我们将此 Python Numpy logical_xor 函数应用于多维数组。

import numpy as np
 
x = np.array([5, 0, 8, 2, 22, 7, 4, 11, 9, 1, 6])
print(x)
print('---logical_xor result  of an array---\n', np.logical_xor(x < 4, x > 8))
print()
 
y = np.random.randn(3, 4)
print(y)
print('\n---logical_xor result of Two Dimensional Array--- \n',
      np.logical_xor(y < 0,  y > 1))
print()
 
z = np.random.randint(1, 20, size = (2, 3, 5))
print(z)
print('\n---logical_xor result of Three Dimensional Array---\n',
      np.logical_xor(z < 8,  z > 15))
Python Numpy logical xor Operator 2