Adicionar Dimensão à Matriz NumPy

Muhammad Maisam Abbas 30 janeiro 2023
  1. Adicionar dimensão ao array NumPy com a função numpy.expand_dims()
  2. Adicionar dimensão ao array NumPy com a função numpy.newaxis em Python
Adicionar Dimensão à Matriz NumPy

Este tutorial irá apresentar os métodos para adicionar uma nova dimensão a um array NumPy em Python.

Adicionar dimensão ao array NumPy com a função numpy.expand_dims()

A função numpy.expand_dims() adiciona uma nova dimensão a um array NumPy. Leva a matriz a ser expandida e o novo eixo como argumentos e retorna uma nova matriz com dimensões extras. Podemos especificar o eixo a ser expandido dentro do parâmetro axis da função numpy.expand_dims(). Veja o seguinte exemplo de código.

import numpy as np

array = np.array([1, 2, 3])
print(array.shape)

array = np.expand_dims(array, axis=0)
print(array.shape)

array = np.append(array, [[4, 5, 6]], axis=0)
print(array)

Resultado:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

No código acima, primeiro criamos um array 1D array com a função np.array() e imprimimos a forma do array com a propriedade array.shape. Em seguida, convertemos o array em um array 2D com a função np.expand_dims(array, axis=0) e imprimimos a nova forma do array com a propriedade array.shape. No final, acrescentamos novos elementos ao array com a função np.append() e imprimimos os elementos do array.

Adicionar dimensão ao array NumPy com a função numpy.newaxis em Python

A abordagem anterior faz o trabalho e funciona bem por enquanto. O único problema é que o método anterior se tornou obsoleto e provavelmente não funcionará com as versões mais recentes do Python no futuro. O método numpy.newaxis também pode ser usado para atingir o mesmo objetivo do método anterior, mas com código e complexidade ainda menores. Com esse método, também não precisamos nos preocupar em não ter suporte nas versões posteriores do Python. O método numpy.newaxis adiciona uma nova dimensão ao nosso array em Python.

import numpy as np

array = np.array([1, 2, 3])
print(array.shape)

array = array[np.newaxis]
print(array.shape)

array = np.append(array, [[4, 5, 6]], axis=0)
print(array)

Resultado:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

Convertemos o array em um array 2D com o método array[np.newaxis] e imprimimos a nova forma do array com a propriedade array.shape. No final, acrescentamos novos elementos ao array com a função np.append() e imprimimos os elementos do array.

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