在矩阵中,针对索引进行操作主要是用于数据过滤的时候

比如

找出一组矩阵中,大于5的数

x[x > 5] 不管之前的矩阵是二维还是一维,最终都是变成一维

numpy--矩阵的索引操作

x>5 是返回一个一个bool矩阵,就是拿矩阵中每一个数和5进行比较

numpy--矩阵的索引操作

还可以写方程式 比方 2*x == 18 - x

numpy--矩阵的索引操作

numpy--矩阵的索引操作

如果想计算上面的方程式在x中有多少个解

可以 np.sum(2*x == 18-x),因为true为1,false 为0

numpy--矩阵的索引操作

 

又或者是用

np.count_nonzero(2*x == 18-x)

numpy--矩阵的索引操作

如果是多维矩阵,同时又想统计每一行中有多少个数大于某个值

numpy--矩阵的索引操作

 

如果想知道某个数是否存在于矩阵中

np.any(x==0) 下图就是说0存在于矩阵中

numpy--矩阵的索引操作

 

如果想判断矩阵中所有的数值有没有大于一个数

np.all(x > 0)

numpy--矩阵的索引操作

如果一个多维矩阵想判断每一行是否有个值大于某个值的话

numpy--矩阵的索引操作

如果需要与运算的话

numpy--矩阵的索引操作

上面的sum函数也是可以这样做,还有 | (或),~(非运算)

numpy--矩阵的索引操作

 

还有一种写法

numpy--矩阵的索引操作

意思是X的第三列中能被3整除的是哪一行, X如下, 刚好是第二行,就把第二行列出来了

numpy--矩阵的索引操作

相关文章: