np.tile
a = np.array([0, 1, 2])
np.tile(a, 2)
#output ([0, 1, 2, 0, 1, 2])
np.tile(a, (2, 2))
#output ([[0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2]])
np.tile(a, (2, 1, 2))
#output ([[[0, 1, 2, 0, 1, 2]], [[0, 1, 2, 0, 1, 2]]])
b = np.array([[1, 2], [3, 4]])
np.tile(b, 2)
#output ([[1, 2, 1, 2], [3, 4, 3, 4]])
np.tile(b, (2, 1))
#output ([[1, 2], [3, 4], [1, 2], [3, 4]])