Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Reformatação de Arrays | Funções Comumente Utilizadas do NumPy
Numpy Definitivo

bookReformatação de Arrays

Redimensionamento de arrays no NumPy permite alterar a forma de um array preservando todos os elementos. Trata-se de uma operação comumente utilizada em aprendizado de máquina, pois muitas funções e métodos de bibliotecas de aprendizado de máquina exigem que os arrays possuam uma forma específica.

Formas de Arrays

Note
Definição

A forma de um array NumPy é uma tupla que indica o número de elementos em cada dimensão (eixo).

Por exemplo, um array 1D de comprimento 5 possui formato (5,), enquanto um array 2D com 3 linhas e 4 colunas possui formato (3, 4):

1234
import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
copy

ndarray.reshape()

Arrays do NumPy possuem o método .reshape() para alteração de formato. Basta informar o formato do array resultante como um inteiro, uma tupla de inteiros ou inteiros como argumentos separados.

Este método não modifica o array no local, mas retorna um novo array.

Note
Nota

Na verdade, .reshape() retorna uma visualização do array original, portanto quaisquer alterações feitas no array reformatado também afetarão o array original.

123456789
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
copy
Note
Nota

O número de elementos no array reformatado deve ser o mesmo do array original, portanto não é possível passar uma forma arbitrária.

No nosso exemplo, ao remodelar o array para o formato de 3 linhas e 4 colunas (3x4) ou para o formato de 2 blocos, cada um contendo 2 linhas e 3 colunas (2x2x3), ainda resulta em um total de 12 elementos.

Remodelagem com -1

No NumPy, ao utilizar -1 no método .reshape(), o tamanho dessa dimensão é calculado automaticamente com base no tamanho original do array, mantendo o número total de elementos.

O uso de .reshape(-1, 1) é especialmente útil em aprendizado de máquina quando é necessário remodelar um array 1D para um array 2D com uma coluna. O número de linhas nesse caso é igual ao número de elementos (calculado automaticamente).

123456
import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
copy

O array remodelado é armazenado como um array 2D com 5 linhas e 1 coluna, tendo o formato (5, 1). Em contraste, o array 1D inicial possui o formato (5,), que é uma tupla com um único elemento. Para qualquer array 1D, o formato é sempre (n,), onde n representa o número de elementos.

numpy.reshape()

A função reshape() no NumPy é idêntica ao método .reshape(), mas você deve passar um array como seu primeiro argumento. Para o parâmetro shape, é possível passar uma tupla de inteiros ou um único inteiro, por exemplo, np.reshape(array, (3, 4)):

123456
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
copy
Tarefa

Swipe to start coding

Você possui um array sales_data_2021 com dados simulados de vendas trimestrais para dois produtos em 2021. Os primeiros 4 elementos representam as vendas trimestrais do primeiro produto, e os últimos 4 elementos representam as vendas trimestrais do segundo produto.

  1. Utilizar o método apropriado de sales_data_2021 para reformatá-lo em um array 2D.
  2. A primeira linha deve conter as vendas trimestrais do primeiro produto.
  3. A segunda linha deve conter as vendas trimestrais do segundo produto.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

Awesome!

Completion rate improved to 3.7

bookReformatação de Arrays

Deslize para mostrar o menu

Redimensionamento de arrays no NumPy permite alterar a forma de um array preservando todos os elementos. Trata-se de uma operação comumente utilizada em aprendizado de máquina, pois muitas funções e métodos de bibliotecas de aprendizado de máquina exigem que os arrays possuam uma forma específica.

Formas de Arrays

Note
Definição

A forma de um array NumPy é uma tupla que indica o número de elementos em cada dimensão (eixo).

Por exemplo, um array 1D de comprimento 5 possui formato (5,), enquanto um array 2D com 3 linhas e 4 colunas possui formato (3, 4):

1234
import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
copy

ndarray.reshape()

Arrays do NumPy possuem o método .reshape() para alteração de formato. Basta informar o formato do array resultante como um inteiro, uma tupla de inteiros ou inteiros como argumentos separados.

Este método não modifica o array no local, mas retorna um novo array.

Note
Nota

Na verdade, .reshape() retorna uma visualização do array original, portanto quaisquer alterações feitas no array reformatado também afetarão o array original.

123456789
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
copy
Note
Nota

O número de elementos no array reformatado deve ser o mesmo do array original, portanto não é possível passar uma forma arbitrária.

No nosso exemplo, ao remodelar o array para o formato de 3 linhas e 4 colunas (3x4) ou para o formato de 2 blocos, cada um contendo 2 linhas e 3 colunas (2x2x3), ainda resulta em um total de 12 elementos.

Remodelagem com -1

No NumPy, ao utilizar -1 no método .reshape(), o tamanho dessa dimensão é calculado automaticamente com base no tamanho original do array, mantendo o número total de elementos.

O uso de .reshape(-1, 1) é especialmente útil em aprendizado de máquina quando é necessário remodelar um array 1D para um array 2D com uma coluna. O número de linhas nesse caso é igual ao número de elementos (calculado automaticamente).

123456
import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
copy

O array remodelado é armazenado como um array 2D com 5 linhas e 1 coluna, tendo o formato (5, 1). Em contraste, o array 1D inicial possui o formato (5,), que é uma tupla com um único elemento. Para qualquer array 1D, o formato é sempre (n,), onde n representa o número de elementos.

numpy.reshape()

A função reshape() no NumPy é idêntica ao método .reshape(), mas você deve passar um array como seu primeiro argumento. Para o parâmetro shape, é possível passar uma tupla de inteiros ou um único inteiro, por exemplo, np.reshape(array, (3, 4)):

123456
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
copy
Tarefa

Swipe to start coding

Você possui um array sales_data_2021 com dados simulados de vendas trimestrais para dois produtos em 2021. Os primeiros 4 elementos representam as vendas trimestrais do primeiro produto, e os últimos 4 elementos representam as vendas trimestrais do segundo produto.

  1. Utilizar o método apropriado de sales_data_2021 para reformatá-lo em um array 2D.
  2. A primeira linha deve conter as vendas trimestrais do primeiro produto.
  3. A segunda linha deve conter as vendas trimestrais do segundo produto.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4
single

single

some-alt