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 .与前面类似,但是传递的是索引数组,不是单个标量。
能够快速获得并修改复杂的数组值 的 子数据集
结果的形状和 索引数组 的形状 一致
- 对多个维度也适用
索引值 配对 遵循 广播规则。
输出
组合索引
切片
掩码