Python|Numpy比较 掩码 布尔逻辑
2018-12-04 本文已影响1人
5a41eb2ceec6
Numpy可以实现如 < 和 > 的逐元素比较的通用函数。这些比较运算的结果是一个布尔数据类型的数组。
-
比较
比较
和算术运算符一样,比较运算操作在 NumPy 中也是借助通用函数来实现的。例如当写x < 3 时, NumPy 内部会使用 np.less(x, 3)。这些比较运算符和其对应的通用函数如下表所示:
通用函数 比较 比较
Python 有内置的 sum()、 any() 和 all() 函数,
这些函数在 NumPy 中有不同的语法版本。如果在多维数组上混用这两个版本,会导致失败或产生不可预知的错误结果。因此,确保在以上用的都是 np.sum()、 np.any()和 np.all() 函数。
-
布尔运算符
可以通过 Python 的逐位逻辑运算符(bitwise logic operator) &、 |、 ^ 和 ~ 来实现。同标准的算术运算符一样, NumPy用通用函数重载了这些逻辑运算符,这样可以实现数组的逐位运算(通常是布尔运算)。
布尔运算 -
掩码
一种更强大的模式是使用布尔数组作为掩码,通过该掩码选择数据的子数据集。
所有的这些值是掩码数组对应位置为 True 的值。