English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Conexão do Array do NumPy

Funções comuns usadas para conectar arrays:

FunçãoDescrição
concatenateConectar uma sequência de arrays ao longo do eixo existente
stackAdicionar uma série de arrays ao longo de um novo eixo.
hstackEmpilhar horizontalmente os arrays da sequência (direção de coluna)
vstackEmpilhar verticalmente os arrays da sequência (direção de linha)
dstackEmpilhar ao longo da altura, a altura é igual à profundidade

Conectar arrays ao longo de um eixo (numpy.concatenate)

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]]

Usar a função de pilha para conectar arrays (numpy.stack)

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]]]

Empilhamento de arrays em linha (numpy.hstack)

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]]

Empilhamento de arrays em coluna (numpy.vstack)

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]]

Empilhamento em altura (numpy.dstack)

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]]]