2016-07-29 37 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