Hi, It is called broadcasting an array, have a look here: http://docs.scipy.org/doc/numpy-1.10.1/user/basics.broadcasting.html
Greetings, Reto On Mon, Apr 18, 2016, 02:54 Paulo da Silva <p_s_d_a_s_i_l_v_a...@netcabo.pt> wrote: > Hi all. > > I have seen this "trick" to create a hot vector. > > In [45]: x > Out[45]: array([0, 1]) > > In [46]: y > Out[46]: array([1, 1, 1, 0, 0, 1, 0, 0], dtype=uint8) > > In [47]: y[:,None] > Out[47]: > array([[1], > [1], > [1], > [0], > [0], > [1], > [0], > [0]], dtype=uint8) > > In [48]: x==y[:,None] > Out[48]: > array([[False, True], > [False, True], > [False, True], > [ True, False], > [ True, False], > [False, True], > [ True, False], > [ True, False]], dtype=bool) > > In [49]: (x==y[:,None]).astype(np.float32) > Out[49]: > array([[ 0., 1.], > [ 0., 1.], > [ 0., 1.], > [ 1., 0.], > [ 1., 0.], > [ 0., 1.], > [ 1., 0.], > [ 1., 0.]], dtype=float32) > > How does this (step 48) work? > > Thanks > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list