Resumo : neste tutorial, você aprenderá como usar a vstack()
função NumPy para unir verticalmente elementos de dois ou mais arrays em um único array.
Introdução à função NumPy vstack()
A vstack()
função une elementos de dois ou mais arrays em um único array verticalmente (linha).
Aqui está a sintaxe da vstack()
função:
numpy.vstack((a1,a2,...))
Linguagem de código: Python ( python )
Nesta sintaxe, o (a1, a2,…) é uma sequência de arrays com o ndarray
tipo.
Todas as matrizes a1, a2, .. devem ter a mesma forma ao longo de todos, exceto no primeiro eixo. Se forem matrizes 1D, deverão ter o mesmo comprimento.
Exemplos de funções NumPy vstack()
Vejamos alguns exemplos de uso da vstack()
função.
1) Usando a função vstack() para unir elementos de arrays 1D
O exemplo a seguir usa a vstack()
função para unir dois arrays 1D verticalmente:
import numpy as np
a = np.array([1, 2])
b = np.array([3, 4])
c = np.vstack((a, b))
print(c)
Linguagem de código: Python ( python )
Saída:
[[1 2]
[3 4]]
Linguagem de código: Python ( python )
Observe que para matrizes 1D, todas as matrizes de entrada devem ter o mesmo comprimento ou você receberá um erro.
O exemplo a seguir tenta unir elementos de dois arrays 1D com comprimentos diferentes e causa um erro:
import numpy as np
a = np.array([1, 2])
b = np.array([3, 4, 5])
c = np.vstack((a, b))
print(c)
Linguagem de código: Python ( python )
Erro:
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 2 and the array at index 1 has size 3
Linguagem de código: Python ( python )
2) Usando a função vstack() para unir elementos de arrays 2D
O exemplo a seguir usa a vstack()
função para unir elementos de duas matrizes 2D:
import numpy as np
a = np.array([
[1, 2],
[3, 4]
])
b = np.array([
[5, 6],
[7, 8]
])
c = np.vstack((a, b))
print(c)
Linguagem de código: Python ( python )
Saída:
[[1 2]
[3 4]
[5 6]
[7 8]]
Linguagem de código: Python ( python )
Resumo
- Use a função numpy
vstack()
para unir dois ou mais arrays verticalmente.