2016-07-29 34 views
0

我有一个三点信道矩阵和我要放置其小于27地方值由条件与numpy的

a=numpy.arange(27).reshape(3,3,3) 
a[a<27]=0 

然而,如果我想仅替换上第一信道的值时,办法可以做的是写一个for循环

for i in range(3): 
    for j in range(3): 
     if a[i][j][0] < 27: 
      a[i][j][0]=0 

我不知道如何用更简单的方法做到这一点。

谢谢

回答

2

你可以尝试:

a=numpy.arange(27).reshape(3,3,3) 
a[a[:,:,0]<27, 0]=0 
1

我想,你要找的是:a[:,:,0][a[:,:,0]<27]=0