在矩阵中,针对索引进行操作主要是用于数据过滤的时候
比如
找出一组矩阵中,大于5的数
x[x > 5] 不管之前的矩阵是二维还是一维,最终都是变成一维
x>5 是返回一个一个bool矩阵,就是拿矩阵中每一个数和5进行比较
还可以写方程式 比方 2*x == 18 - x
如果想计算上面的方程式在x中有多少个解
可以 np.sum(2*x == 18-x),因为true为1,false 为0
又或者是用
np.count_nonzero(2*x == 18-x)
如果是多维矩阵,同时又想统计每一行中有多少个数大于某个值
如果想知道某个数是否存在于矩阵中
np.any(x==0) 下图就是说0存在于矩阵中
如果想判断矩阵中所有的数值有没有大于一个数
np.all(x > 0)
如果一个多维矩阵想判断每一行是否有个值大于某个值的话
如果需要与运算的话
上面的sum函数也是可以这样做,还有 | (或),~(非运算)
还有一种写法
意思是X的第三列中能被3整除的是哪一行, X如下, 刚好是第二行,就把第二行列出来了