English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Funções comuns usadas para conectar arrays:
Função | Descrição |
concatenate | Conectar uma sequência de arrays ao longo do eixo existente |
stack | Adicionar uma série de arrays ao longo de um novo eixo. |
hstack | Empilhar horizontalmente os arrays da sequência (direção de coluna) |
vstack | Empilhar verticalmente os arrays da sequência (direção de linha) |
dstack | Empilhar ao longo da altura, a altura é igual à profundidade |
Conectar significa colocar o conteúdo de dois ou mais arrays em um único array.
No SQL, conectamos tabelas com base em uma chave, enquanto no NumPy conectamos arrays ao longo de um eixo.
A função numpy.concatenate conecta dois ou mais arrays de forma idêntica ao longo de um eixo específico, no formato a seguir:
numpy.concatenate((a1, a2, ...), axis)
Descrição dos parâmetros:
a1, a2, ...: arrays do mesmo tipoaxis: o eixo ao longo do qual conectar os arrays, o padrão é 0
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('Primeiro array:') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('Segundo array:') print(b) print('\n') # As dimensões dos dois arrays são iguais print ('Conectar dois arrays ao eixo 0:') print (np.concatenate((a,b))) print('\n') print ('ao eixo 1 Conectar dois arrays:') print (np.concatenate((a,b),axis = 1))
O resultado da saída é:
[[ 5 6 7 8 9] [ 7 8 9 10 11]] Conectar dois arrays ao eixo 0: [[ 1 2 3 4 5] [ 3 4 5 6 7] [ 5 6 7 8 9] [ 7 8 9 10 11]] Along the axis 1 Conectar dois arrays: [[ 1 2 3 4 5 5 6 7 8 9] [ 3 4 5 6 7 7 8 9 10 11]]
A função numpy.stack empilha uma sequência de arrays ao longo de um novo eixo, no formato a seguir:
numpy.stack(arrays, axis)
Descrição dos parâmetros:
sequência de arrays com a mesma formaaxis: retorna o eixo no array, empilhando o array ao longo dele
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('Primeiro array:') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('Segundo array:') print(b) print('\n') print ('ao eixo 0 empilhar dois arrays:') print (np.stack((a,b),0)) print('\n') print ('ao eixo 1 empilhar dois arrays:') print (np.stack((a,b),1))
O resultado da saída é:
Primeiro array: [[1 2 3 4 5] [3 4 5 6 7]] Segundo array: [[ 5 6 7 8 9] [ 7 8 9 10 11]] Empilhar dois arrays ao longo do eixo 0: [[[ 1 2 3 4 5] [ 3 4 5 6 7]] [[ 5 6 7 8 9] [ 7 8 9 10 11]]] Along the axis 1 Empilhar dois arrays: [[[ 1 2 3 4 5] [ 5 6 7 8 9]] [[ 3 4 5 6 7] [ 7 8 9 10 11]]]
numpy.hstack é uma variante da função numpy.stack, que gera arrays através do empilhamento horizontal.
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('Primeiro array:') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('Segundo array:') print(b) print('\n') print('Empilhamento horizontal:') c = np.hstack((a, b)) print(c) print('\n')
O resultado da saída é:
Primeiro array: [[1 2 3 4 5] [3 4 5 6 7]] Segundo array: [[ 5 6 7 8 9] [ 7 8 9 10 11]] Empilhamento horizontal: [[ 1 2 3 4 5 5 6 7 8 9] [ 3 4 5 6 7 7 8 9 10 11]]
numpy.vstack é uma variante da função numpy.stack, que gera arrays através do empilhamento vertical.
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('Primeiro array:') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('Segundo array:') print(b) print('\n') print('Empilhamento vertical:') c = np.vstack((a, b)) print(c)
O resultado da saída é:
Primeiro array: [[1 2 3 4 5] [3 4 5 6 7]] Segundo array: [[ 5 6 7 8 9] [ 7 8 9 10 11]] Empilhamento vertical: [[ 1 2 3 4 5] [ 3 4 5 6 7] [ 5 6 7 8 9] [ 7 8 9 10 11]]
O NumPy fornece uma função auxiliar: dstack() empilha em altura, a altura é igual à profundidade.
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] b = np.array([5,6,7,8,9],[7,8,9,10,11]]] arr = np.dstack((a, b)) print(arr)
O resultado da saída é:
[[[ 1 5] [ 2 6] [ 3 7] [ 4 8] [ 5 9]] [[ 3 7] [ 4 8] [ 5 9] [ 6 10] [ 7 11]]]