Numpy: apila duplicados de matriz en una nueva dimensión [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Copiar matriz 2D en la tercera dimensión, N veces (Python) 5 respuestas

Tengo una matriz numpy de 3x3 y quiero crear una matriz de 3x3xC donde la nueva dimensión consista en copias exactas de la matriz original de 3x3. Estoy seguro de que esto se pregunta en alguna parte, pero no pude encontrar la mejor manera. Resolví cómo hacer esto para una matriz simple de 1 dimensión x:

new_x = np.tile(np.array(x, (C, 1))

que repite la matriz, luego haz:

np.transpose(np.expand_dims(new_x, axis=2),(2,1,0))

que expande la dimensión y cambia el eje para que la matriz se repita en la tercera dimensión (aunque esto funciona, tampoco estoy seguro de si esta es la mejor manera de hacerlo): ¿cuál es la forma más eficiente de hacer esto para un general nxn matriz numpy?

Respuestas a la pregunta(1)

Su respuesta a la pregunta