Resumo : neste tutorial, você aprenderá como usar a stack()
função NumPy para unir dois ou mais arrays em um único array.
Introdução à função NumPy stack()
A stack()
função de duas ou mais matrizes em uma única matriz. Ao contrário da concatenate()
função, a função stack() une arrays 1D para formar um array 2D e une arrays 2D para formar um array 3D.
O seguinte mostra a sintaxe da stack()
função:
numpy.stack((a1,a2,...),axis=0)
Linguagem de código: Python ( python )
Nesta sintaxe, (a1, a2,…) é uma sequência de arrays com ndarray
objetos de tipo ou semelhantes a array. Todas as matrizes a1, a2, .. devem ter o mesmo formato.
O axis
parâmetro especifica o eixo na matriz de resultados ao longo do qual a função empilha as matrizes de entrada. Por padrão, o eixo é zero, o que une as matrizes de entrada verticalmente.
Além da stack()
função, NumPy também possui vstack()
função que une dois ou mais arrays verticalmente e hstack()
função que une dois ou mais arrays horizontalmente.
Exemplos de funções NumPy stack()
Vejamos alguns exemplos de uso da stack()
função.
1) Usando a função stack() para unir arrays 1D
O exemplo a seguir usa a stack()
função para unir dois arrays 1D:
import numpy as np
a = np.array([1, 2])
b = np.array([3, 4])
c = np.stack((a, b))
print(c)
Linguagem de código: Python ( python )
Saída:
[[1 2]
[3 4]]
Linguagem de código: Python ( python )
O exemplo a seguir usa a stack()
função para unir dois arrays 1D horizontalmente usando o eixo 1:
import numpy as np
a = np.array([1, 2])
b = np.array([3, 4])
c = np.stack((a, b), axis=1)
print(c)
Linguagem de código: Python ( python )
Saída:
[[1 3]
[2 4]]
Linguagem de código: Python ( python )
2) Usando a função numpy stack() para unir arrays 2D
O exemplo a seguir usa a stack()
função para unir elementos de duas matrizes 2D. O resultado é uma matriz 3D:
import numpy as np
a = np.array([
[1, 2],
[3, 4]
])
b = np.array([
[5, 6],
[7, 8]
])
c = np.stack((a, b))
print(c)
print(c.shape)
Linguagem de código: Python ( python )
Saída:
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
(2, 2, 2)
Linguagem de código: Python ( python )
Pilha NumPy() vs.
O exemplo a seguir ilustra a diferença entre stack()
as concatenate()
funções e:
a = np.array([1,2])
b = np.array([3,4])
c = np.concatenate((a,b)) # return 1-D array
d = np.stack((a,b)) # return 2-D array
print(c)
print(d)
Linguagem de código: PHP ( php )
Saída:
[1 2 3 4]
[[1 2]
[3 4]]
Linguagem de código: JSON/JSON com comentários ( json )
Neste exemplo, a função concatenate() une elementos de dois arrays ao longo de um eixo existente enquanto a stack()
função une os dois arrays ao longo de um novo eixo .
Resumo
- Use a função numpy
stack()
para unir dois ou mais arrays em um.