Chapter 4: Array reshaping

Reshape an array into 3D

face Josiah Wang

Well done! Here is your third mission.

Mission 3: I love 3D!

Can you reshape the (3 \times 4) np.array into a (2 \times 3 \times 2) np.array instead please?

This mission is just an extension to the previous one!

x = np.array([[0, 1, 2, 3],
              [4, 5, 6, 7],
              [-6, -5, -4, -3]
             ])

reshaped_x = ????

assert np.all(reshaped_x == np.array([[[ 0,  1],
                                [ 2,  3],
                                [ 4,  5]],
                               [[ 6,  7],
                                [-6, -5],
                                [-4, -3]]]))

Reshape can be used for different dimensions. This is just like the previous mission. All the variants from the previous mission applies!

reshaped_x = x.reshape((2, 3, 2))

# You can also let NumPy infer the remaining dimension automatically
reshaped_x = x.reshape((-1, 3, 2))
reshaped_x = x.reshape((2, -1, 2))
reshaped_x = x.reshape((2, 3, -1))