Python数据科学手册-Numpy数组的计算:比较、掩码和布尔逻辑,花哨的索引
Numpy的通用函数可以用来替代循环, 快速实现数组的逐元素的 运算
同样,使用其他通用函数实现数组的逐元素的 比较
< > 这些运算结果 是一个布尔数据类型的数组。 有6种标准的比较操作
- 小于,大于,小于等于,大于等于, 不等于, 等于

x > 3
x <= 3
x >= 3
x != 3
x == 3
- 复合表达式

- 对应的通用函数
| Operator | Equivalent ufunc | Operator | Equivalent ufunc |
|---|---|---|---|
| == | np.equal | != | np.not_equal |
| < | np.less | <= | np.less_equal |
| > | np.greater | >= | np.greater_equal |
操作布尔数组

- 统计记录的个数
False : 0 ,True : 1

np.sum(x<6) #聚合函数

np.any(x>8)



布尔运算符
& | ^ ~
Numpy用通用函数重载了这些逻辑运算符
| Operator | Equivalent ufunc | Operator | Equivalent ufunc |
|---|---|---|---|
| & | np.bitwise_and | ||
| ^ | np.bitwise_xor | ~ | np.bitwise_not |
将布尔数组作为 掩码
将布尔数组作为掩码,通过该掩码选择数据的 子数据集 。

花哨的索引
前面学习了 简单的索引值 切片 布尔掩码 获得并修改部分数组。
另外一种, fancy indexing .与前面类似,但是传递的是索引数组,不是单个标量。
能够快速获得并修改复杂的数组值 的 子数据集

结果的形状和 索引数组 的形状 一致

- 对多个维度也适用

索引值 配对 遵循 广播规则。

输出

组合索引

切片

掩码
