逻辑运算:通常用于对数组中的元素进行条件判断和筛选,生成一个布尔类型的数组,其中每个元素都表示对应位置的原始数组元素是否符合指定的逻辑条件。
-
示例
三目运算符:np.where()
-
np.where(temp>60,1,0) : 判断temp里的数据是否大于60,大为1,小为0
-
复杂的逻辑运算需要搭配np.logical_and和np.logical_or使用
-
例:np.where(np.logical_and(temp>60,temp<90),1,0) :表示 判断前四名学生,前四门课程里成绩大于90且小于60的为1,其余为0
-
例:np.where(np.logical_and(temp>60,temp<90),1,0 : 表示 判断前四名学生,前四门课程里成绩大于90或小于60的为1,其余为0
-
统计最大值最小值:
-
最大值:np.argmax(temp,axis=)
-
最小值:np.argmin(temp,axis=)
数组与数之间的运算:
-
列表与数的运算则不是这样:
数组与数组之间的运算:
-
广播机制:数组在进行矢量运算时候,要求数组的形状是相同的。当形状不相同的数组在执行算数运算的时候就会出现广播机制,该机制就会对数组进行拓展,使数组的shape属性值一样,这样,就可以进行矢量化运算了。
-
例: 要想a1和a2相加,按照广播机制就会对数组a1和a2都进行拓展,使得数组a1和a2变成四行三列
-
对应值 相加
-
广播机制满足任一条件即可:
-
数组的某一维度等长
-
其中一个数组的某一维度为1
-
-