2011-12-04 17 views

risposta

19

Si può solo dare un elenco degli indici:

indices = [1, 4, 5, 6, 7] 
zero = numpy.zeros(10) 
zero[indices] = 42 
0

Se si dispone di un ndarry:

>>> x = np.zeros((3, 3, 3)) 
>>> y = [0, 9, 18] 
>>> x 
array([[[ 0., 0., 0.], 
     [ 0., 0., 0.], 
     [ 0., 0., 0.]], 

     [[ 0., 0., 0.], 
     [ 0., 0., 0.], 
     [ 0., 0., 0.]], 

     [[ 0., 0., 0.], 
     [ 0., 0., 0.], 
     [ 0., 0., 0.]]]) 
>>> np.put(x, y, 1) 
>>> x 
array([[[ 1., 0., 0.], 
     [ 0., 0., 0.], 
     [ 0., 0., 0.]], 

     [[ 1., 0., 0.], 
     [ 0., 0., 0.], 
     [ 0., 0., 0.]], 

     [[ 1., 0., 0.], 
     [ 0., 0., 0.], 
     [ 0., 0., 0.]]]) 
Problemi correlati