Reshaping y joining and splitting en Python

| Última modificación: 12 de abril de 2024 | Tiempo de Lectura: 3 minutos
Premios Blog KeepCoding 2025

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

¿Sabes qué son el reshaping y joining and splitting? Estas funciones en Python te pueden resultar bastante útiles cuando estás trabajando con arrays, por eso, en este artículo, queremos mostrarte cómo usarlas.

Reshaping y joining and splitting

Reshaping

Una de las herramientas más usadas en Python es el reshaping. Por ejemplo, si queremos transformar:

x = [1, 2, 3, 4, 5, 6, 7, 8, 9]

A una matriz:

1 2 3

x= 4 5 6

7 8 9

#Reshaping y joining and splitting
grid = np.arange (1, 10)
print (grid)

[1, 2, 3, 4, 5, 6, 7, 8, 9]

Aquí hemos generado un array de una dimensión, del 1 al 9.

Ahora, lo que podemos hacer, por ejemplo, es cambiarle las dimensiones a este array para que ya no sea una, sino tres (3, 3):

#Reshaping y joining and splitting
grid.reshape (3, 3)

array ([1 2 3],

[4 5 6],

[7 8 9]])

Podemos cambiarle la dimensión a este array a tres, porque el número de componentes, en este caso 9, es múltiplo de 3. Si intentamos cambiar (3, 3) a (3, 5), nos daría error, porque no hay suficientes elementos que llenar:

#Reshaping y joining and splitting
grid.reshape (3, 5)
Reshaping y joining and splitting

En este caso le estaríamos pidiendo al algoritmo que nos transforme un array de 9 elementos (3 x 3 = 9) en un array de 15 componentes (3 x 5 = 15), lo cual no es posible, por eso lo dejaremos en (3, 3).

Joining and splitting

Joining and splitting es una forma de concatenar y dividir los arrays. Para entender cómo funcionan, dibujemos una matriz:

#Reshaping y joining and splitting
grid = grid.reshape (3, 3)
grid

array ([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

A este array vamos a intentar concatenarle un vector en la parte de abajo. Entonces, probemos primero a concatenar al vector que ya tenemos, el mismo vector:

#Reshaping y joining and splitting
np.concatenate ([grid, grid])

array ([[1, 2, 3],

[4, 5, 6],

[7, 8, 9],

[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

En este caso, lo único que hemos hecho es coger el array que teníamos y ponerle el mismo array en la parte de abajo.

Lo que sucede es que esto por defecto está tomando el axis = 0, pero podríamos ponerle un axis = 1 y, de este modo, nos haría la concatenación a la derecha, en vez de hacerla abajo:

#Reshaping y joining and splitting
np.concatenate ([grid, grid], axis = 1)

array ([[1, 2, 3, 1, 2, 3],

[4, 5, 6, 4, 5, 6],

[7, 8, 9, 7, 8, 9]])

Para arrays con distintas dimensiones, se suele usar vstack (vertical stack) o hstack (horizontal stack). Esto es exactamente igual al concatenate. Veamos cómo funciona.

Vamos a crear un array, cuyo número de componentes no importa. En este caso son 3: [20 20 20]. Lo que podríamos hacer es añadir este array al array denominado «grid» en la parte de abajo:

#Reshaping y joining and splitting
x = np.array ([20, 20, 20])
np.vstack ([grid, x])

array ([[1, 2, 3],

[4, 5, 6],

[7, 8, 9],

[20, 20, 20]])

En este caso, estaríamos haciendo lo mismo que con axis = 0 o axis = 1, pero utilizaríamos el vstack en vez del axis para hacerlo de forma vertical.

Lo mismo sería si quisiéramos ponerlo horizontal, solo que tendríamos que hacer reshape:

#Reshaping y joining and splitting
print (x.ndim)
x_reshape = x.reshape (3, 1)
print (x.reshape)

1

[[20]

[20]

[20]]

#Reshaping y joining and splitting
x_reshape.shape

(3, 1)

#Reshaping y joining and splitting
np.hstack ([grid, x_reshape])

array ([[1, 2, 3, 20],

[4, 5, 6, 20],

[7, 8, 9, 20]])

Podemos dividir los arrays usando split, hsplit o vsplit:

#Reshaping y joining and splitting
x = np.arange (1, 10)
x

array ([1, 2, 3, 4, 5, 6, 7, 8, 9])

#Reshaping y joining and splitting
x1, x2, x3 = np.split (x, [3, 5])
print (x1)
print (x2)
print (x3)

[1 2 3]

[4 5]

[6 7 8 9]

¿Quieres seguir aprendiendo?

Ahora que hemos visto cómo funcionan el reshaping y joining and splitting, podemos seguir aprendiendo sobre Big Data, una de las disciplinas más demandadas. Puedes cumplir tus objetivos con el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, la formación intensiva de alta calidad en la que podrás conseguir todos los conocimientos teóricos y prácticos que necesitas para entrar en el mercado laboral. ¡Anímate a seguir cambiando tu futuro y entra para pedir más información ahora!

Noticias recientes del mundo tech

¡CONVOCATORIA ABIERTA!

Big Data & Data Science

Full Stack Bootcamp

Clases en Directo | Acceso a +600 empresas | 98% de empleabilidad

Descárgate también el informe de tendencias en el mercado laboral 2026.

Fórmate con planes adaptados a tus objetivos y logra resultados en tiempo récord.
KeepCoding Bootcamps
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.