N, M = len(y), labels.size
dtype = np.uint8
rows = np.arange(N)
cols = [mapping[i] for i in y]
data = np.ones(N, dtype=dtype)
ynew = csc_matrix((data, (rows, cols)), shape=(N, M), dtype=dtype)
Python: горячее кодирование больших объемов данных