I have a numpy array a the shape of which is (m, n).
I want to transform this array into an array b with shape (m, n, l), where:
b[i,j].length == l
b[i,j,k] == a[i,j]
0 <= i < m
0 <= j < n
0 <= k < l
For example:
m = 2
n = 3
a = [[1,2,3],[4,5,6]]
If l = 2, then b:
b = [[[1,1],[2,2],[3,3]],[[4,4],[5,5],[6,6]]]
How can I do it? Is there an easy one-line solution?
>Solution :
This does it:
np.repeat(a, l).reshape(a.shape + (-1,))