小引成人色站
ndarray的向量化的特点,对逻辑运算亦然适用的。然而,对于多维数组的逻辑运算不至于得到一个布尔数组的成果,还不错基于布尔索引与逻辑运算相聚会,终了愈加活泼的数据筛选。
本文的主要推行有:
1、ndarray的相比运算
2、逻辑运算符的使用
3、三元运算函数where
4、通用判断函数any和all
ndarray的相比运算
其实对于多维数组ndarray的相比运算,在前边的推行中,照旧有所触及。其实,更常用的相比运算,是将数组与某个标量进行相比,诳骗向量化的特点,将相比运算应用到数组中的每一个元素,从而不错得到一个布尔数组。更进一步,ndarray守旧使用布尔数组进行索引,是以,不错终了对数组进行骄慢特定的条款的元素的筛选需求。
平直看对应的代码:
逻辑运算符的使用
除了单个条款进行数组元素的筛选除外成人色站,NumPy还提供了逻辑运算符,从而终了条款的组合,终了愈加复杂的数据筛选需求。
整个有如下逻辑运算符:
1、np.logical_and()
用于两个条款况兼的联系,数组元素筛选语境中,默示求两个集结错乱的操作。也即是得到同期骄慢两个条款的数据。
不错使用运算符 & 进行简化,两者是等价的。
2、np.logical_or()
用于两个条款或的联系,数组元素筛选语境中,默示求两个集结并集的操作。也即是得到骄慢至少大肆一个条款的数据。
不错使用运算符 | 进行简化,两者是等价的。
3、np.logical_not()
用于取反的逻辑运算,默示得到不骄慢该条款的数据元素。然而,时时来说,咱们会自行进行条款的取反操作,而不是通过np.logical_not()来进行取反。
不错使用运算符 ~ 进行简化,两者是等价的。
4、np.logical_xor()
勾引指南逻辑异或的见解,也即是得到两个条款不同期为真、也不同期为假的数据。
不错简化为操作符 ^,两者是等价的。
底下通过代码进行例如施展:
三元运算函数where
由于逻辑运算复返的成果是布尔数组,无意不是太浮浅。是以,NumPy还提供了np.where()函数,不错凭证条款复返元素的索引或凭证条款生成新的数组。
通过代码演示下np.where()函数的使用:
通用判断函数any和all
NumPy中提供的逻辑运算,除了上头的推行外,还灵验于终了整个元素都为真,或者至少有一个元素为真,这两种场景的数据筛选需求。
相比概况,平直通过代码进行例如施展:
回顾
本文概况先容了NumPy守旧的相比常用的逻辑运算,包括相比运算、逻辑运算符、三元运算,以及any和all的语义。基于这些操作的组合,就不错终了相比活泼的数组元素的筛选了。固然,NumPy中还提供了更多的、更复杂的逻辑运算操作。然而,更复杂的推行,其实,咱们不错借助Pandas愈加精真金不怕火的终了。是以,这里就不再张开了。
以上成人色站,即是本文的一皆推行,感谢您的拨冗阅读!