2016-05-09 5 views

Antwort

1

Hier ist eine andere Art und Weise, es zu tun ist:

import numpy as np 
fl = np.zeros((5, 3)) 
labels = np.random.random_integers(0, 2, 5) 
fl[range(0, 5), labels] = 1 

Und es wird erzeugen Sie diesen Ausgang:

enter image description here

1

Sie können labels Array als boolesches Array mit fl.shape als Form verwenden. Versuchen:

import numpy as np 
fl = np.zeros((5, 3)) 
labels = np.random.random_integers(0, 1, fl.shape).astype(bool) 
fl[labels] = 1 

Und hier ist, wie die Anordnung von boolean der in Etiketten und Ergebnis wird wie folgt aussehen:

>>> labels 
array([[False, True, False], 
    [ True, True, False], 
    [False, True, True], 
    [ True, True, True], 
    [ True, False, False]], dtype=bool) 

>>> fl 
array([[ 0., 1., 0.], 
    [ 1., 1., 0.], 
    [ 0., 1., 1.], 
    [ 1., 1., 1.], 
    [ 1., 0., 0.]]) 
Verwandte Themen