I am creating a multi-dimension numpy matrix like this:
a = np.array([255, 0])
mins_and_maxes = np.tile(a, [9, 2, 43])
I'm expecting mins_and_maxes
to be a 4-D array with a shape of (9, 2, 43, 2). However, mins_and_maxes
has a shape of (9, 2, 86). The [255, 0] arrays are sort of being 'dissolved'. (I can't think of a better word. "Exploded"?)
How do I get a matrix of size (9, 2, 43) where every element is a copy of the array of length 2, [255, 0]?
You can try:
a = np.array([255, 0])
mins_and_maxes = np.tile(a, [9, 2, 43, 1])
mins_and_maxes.shape
#(9, 2, 43, 2)
mins_and_maxes
#array([[[[255, 0],
[255, 0],
[255, 0],
...,
[255, 0],
[255, 0],
[255, 0]],
[[[255, 0],
[255, 0],
[255, 0],
...,
[255, 0],
[255, 0],
[255, 0]],
[[255, 0],
[255, 0],
[255, 0],
...,
[255, 0],
[255, 0],
[255, 0]]],
[[[255, 0],
[255, 0],
[255, 0],
...,
[255, 0],
[255, 0],
[255, 0]],
[[255, 0],
[255, 0],
[255, 0],
...,
[255, 0],
[255, 0],
[255, 0]]]])