Matrices Zip NumPy

Muhammad Maisam Abbas 30 enero 2023
  1. NumPy Zip Con la función list(zip())
  2. NumPy Zip con la función numpy.stack()
  3. NumPy Zip con la función numpy.column_stack()
Matrices Zip NumPy

Este tutorial presentará los métodos para comprimir dos matrices 1D NumPy en una soel array 2D NumPy en Python.

NumPy Zip Con la función list(zip())

Si tenemos dos matrices 1D y queremos comprimirlas juntas dentro de un array 2D, podemos usar la función list(zip()) en Python. Este enfoque implica comprimir las matrices juntas dentro de una lista. La función list(zip(a,b)) toma las matrices a y b como argumento y devuelve una lista. Luego podemos convertir la lista comprimida en un array con la función numpy.array(). Vea el siguiente ejemplo de código.

import numpy as np

a = np.array([1, 3, 5, 7])
b = np.array([2, 4, 6, 8])

c = np.array(list(zip(a, b)))

print(c)

Producción :

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

Primero creamos las dos matrices 1D a y b con la función np.array() y las comprimimos junto con la función np.array(list(zip(a,b))).

Este enfoque no es muy eficiente porque tenemos que convertir entre matrices y listas.

NumPy Zip con la función numpy.stack()

También podemos usar la función numpy.stack() para lograr el mismo objetivo que en el ejemplo anterior. Este enfoque es más eficiente que el enfoque anterior porque no se lleva a cabo ninguna conversión de tipo. La función numpy.stack() se utiliza para unir dos o más matrices de acuerdo con un eje especificado. Podemos especificar el parámetro axis igual a 1 para obtener un resultado similar al del ejemplo anterior. Vea el siguiente ejemplo de código.

import numpy as np

a = np.array([1, 2, 3, 4, 5])
b = np.array([6, 7, 8, 9, 10])

c = np.stack((a, b), axis=1)

print(c)

Producción :

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

Primero creamos las dos matrices 1D a y b con la función np.array() y las comprimimos junto con la función np.stack((a,b), axis=1).

NumPy Zip con la función numpy.column_stack()

La función numpy.column_stack() es otro método que se puede utilizar para comprimir dos matrices 1D en una soel array 2D en Python. La función numpy.column_stack() se utiliza para unir dos o más matrices 1D como columnas en una soel array 2D. No tenemos que especificar ningún parámetro de eje para este enfoque. Vea el siguiente ejemplo de código.

import numpy as np

a = np.array([1, 3, 5, 7])
b = np.array([2, 4, 6, 8])

d = np.column_stack((a, b))

print(d)

Producción :

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

Primero creamos las dos matrices 1D a y b con la función np.array() y las comprimimos junto con la función np.column_stack(a,b).

Este enfoque es el mejor en comparación con los dos métodos anteriores. Porque no hay conversión de tipo y no tenemos que especificar ningún eje en este enfoque.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn