如果用到数据筛选功能,可以使用x if condition else y的逻辑实现。如果使用的是纯Python,可以使用不断迭代的方式对每一组元素组合进行相应的判断筛选。不过,如果使用numpy中的向量化计可以大大加速运算的过程。
在numpy中有一个这个三目运算的向量版本numpy.where。where方法可以接收三个参数,第一个参数为条件向量,而第二、第三个参数可以是矩阵也可以是标量。接下来做一下相应功能的纯Python功能实现以及向量方式实现。
记录如下:
In [76]: xarr
下面说的和三目运算有点相似,但又不一样,实在不知道该如何拟定标题,先就是这个标题吧,大家都知道python中没有三目运算,但是and/or有点类似三目运算:
and/or
单独使用表示逻辑关系与和或,也可以组和使用,用法如下
and
and前后如果某一个值为假(False, ”, [], {}, None…)则返回第一个假值 如果所有值都为真则返回最后一个真值
or
如果or任意一个值为真,则立刻返回这个值 如果所有值都为假,则or返回最后一个假值
例子
result = 'test' and