Python 中的 Numpy Logical _and()

2024 年 8 月 29 日 | 4 分钟阅读

Python Numpy 包中提供了大量复杂的数学函数。借助这些函数,可以在 Python 中处理大型多维数组和矩阵,并对它们进行不同的逻辑和统计运算。Python 的 numpy 库能够进行快速的数学计算。本文将介绍 numpy 的逻辑函数之一,即 numpy logical _and 函数。

Numpy logical _and()

逻辑 AND 运算可以在 Python 中使用 numpy logical _and 函数执行。借助此函数,我们可以逐个元素地计算两个列表或数组,或者确定两个变量之间 AND 运算的真值。在处理布尔值时,逻辑 _and 函数可以用按位 & 运算符替换。

NumPy 的 logical and 函数语法

numpy logical _and() 函数具有以下语法

参数

  • x1, x2: x1, x2 表示需要在其元素之间执行逻辑 AND 运算的输入数组。两个数组的形状应相同。
  • Out: 这是一个可选参数,是一个 n 维数组。Out 的默认值为 "None"。此参数指定输出的存储位置。长度必须与 x1 和 x2 匹配。如果未指定任何内容,它将自动返回一个包含结果的新数组。
  • Where: 这是一个可选的类数组参数。在 "where" 参数中指定了一个条件。
  • y: 返回值 函数输出一个布尔值的 n 维数组。这些布尔值是通过对 x1 和 x2 数组的元素执行 AND 运算而创建的。

逻辑 AND 运算真值表

AND 运算要起作用,需要两个布尔值

x1x2AND 运算
FFF
TFF
FTF
TTT

Numpy logical _and 示例

首先,通过几个例子来理解 numpy logical _and 函数如何工作。我们首先导入 Numpy 库。

然后,将显示布尔值各种组合之间的逻辑 AND 运算结果。如果两个值都为 True,则逻辑 "and" 函数将输出标记为 "True"。

当 x1 和 x2 都为 False 时。

对于两个 "False" 布尔值,logical _and 函数的结果也将为 False。

输出

F

当 x1 为 False,x2 为 True 时

输出

F

当 x1 和 x2 都为 True 时

输出

T

两个数组之间的 logical _and

logical _and 函数可用于连接两个数组。数组可以是数字、布尔数组或混合类型。请看这两个布尔数组

输出

[ F F F ]

让我们选择包含布尔值和数值的两个数组。对于数值,零始终为 False,所有非零值均为 True。

输出

[ F T F T T ]

在条件下的 Reasonable _and

我们可以将条件指定为值数组的替代。让我们看看数组 "x",我们将通过它们中的 arrange() 函数获取该数组。然后,我们将仅通过使用 logical _and 来打印介于 1 和 10 之间的值。

输出

[ 0 5 10 15 ]
[ F T F F ]

这是因为 x 中的 5 是唯一一个在两个给定条件下都产生 True 的值。

对于两个以上的数组,使用 Numpy logical _and。

尽管 logical _and 函数的语法仅允许比较两个数组,但我们可以使用它同时比较多个数组。

这之所以可行,是因为 AND 运算符具有交换律。将使用两个逻辑 "and" 函数。在这里,我们将一个外部 logical _and 函数作为其第一个参数传递给 logical _and 函数。

输出

[ F T F T T T ]

沿轴使用 Numpy logical _and 进行规约。

借助 reduction() 函数,我们还可以通过指定 axis 参数来确定两个数组之间的逻辑 "and" 值。例如,让我们使用轴 0 和 1 来计算二维数组的值。

如果 axis = 0,则

这将对列项执行逻辑 "and" 运算。

输出

[ T F ]

如果 axis = 1,则

这将对每一行执行逻辑 "and" 运算。由于这里有三行,因此输出数组的长度将为三行。

输出

[ F T F ]