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

bookAchatamento de Arrays

Achatamento de um array significa convertê-lo de um array multidimensional para um array 1D, essencialmente desenrolando seu conteúdo.

Esta operação é útil quando é necessário processar os elementos de um array um por um ou quando se deseja tornar os dados mais adequados para determinados algoritmos.

Existem três opções possíveis para achatamento em NumPy:

  • Utilizando o método ndarray.reshape(-1) ou a função numpy.reshape(array, -1);
  • Utilizando o método ndarray.ravel() ou a função numpy.ravel(array);
  • Utilizando o método ndarray.flatten().

reshape(-1)

O método .reshape(-1) ou a função reshape(array, -1) retorna um array achatado contíguo com o mesmo número de elementos.

Como já mencionado no capítulo anterior, -1 calcula automaticamente o tamanho da dimensão com base no tamanho do array original. Como passamos apenas um único inteiro para shape, é retornado um array 1D com o mesmo número de elementos.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

O método .reshape() ou a respectiva função retorna uma visualização do array original, portanto, quaisquer alterações feitas no array reformatado também afetarão o array original.

Utilizar flattened_array = np.reshape(array_2d, -1) pode ser uma alternativa à chamada do método.

ravel()

O método ndarray.ravel() ou a função numpy.ravel(array) funciona da mesma forma que reshape(-1) e também retorna uma visualização do array original:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) pode ser utilizado em vez de chamar o método.

ndarray.flatten()

Caso seja necessário uma cópia do array original, e não uma visualização, utilize o método .flatten():

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy
Note
Nota

Você pode sempre copiar uma visualização de um array para criar um objeto separado e modificar essa cópia sem afetar o array original.

Tarefa

Swipe to start coding

  1. Utilize corretamente o método .flatten() para achatar exam_scores e armazene o resultado em exam_scores_flattened.
  2. Utilize corretamente o método .reshape() para achatar exam_scores e armazene o resultado em exam_scores_reshaped.
  3. Utilize o método .ravel() para achatar exam_scores e armazene o resultado em exam_scores_raveled.
  4. Entre os três arrays achatados criados, escolha aquele que é uma cópia do array original, e não uma visualização, e atribua 100 ao seu primeiro elemento (utilize indexação positiva).

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 5
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

bookAchatamento de Arrays

Deslize para mostrar o menu

Achatamento de um array significa convertê-lo de um array multidimensional para um array 1D, essencialmente desenrolando seu conteúdo.

Esta operação é útil quando é necessário processar os elementos de um array um por um ou quando se deseja tornar os dados mais adequados para determinados algoritmos.

Existem três opções possíveis para achatamento em NumPy:

  • Utilizando o método ndarray.reshape(-1) ou a função numpy.reshape(array, -1);
  • Utilizando o método ndarray.ravel() ou a função numpy.ravel(array);
  • Utilizando o método ndarray.flatten().

reshape(-1)

O método .reshape(-1) ou a função reshape(array, -1) retorna um array achatado contíguo com o mesmo número de elementos.

Como já mencionado no capítulo anterior, -1 calcula automaticamente o tamanho da dimensão com base no tamanho do array original. Como passamos apenas um único inteiro para shape, é retornado um array 1D com o mesmo número de elementos.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

O método .reshape() ou a respectiva função retorna uma visualização do array original, portanto, quaisquer alterações feitas no array reformatado também afetarão o array original.

Utilizar flattened_array = np.reshape(array_2d, -1) pode ser uma alternativa à chamada do método.

ravel()

O método ndarray.ravel() ou a função numpy.ravel(array) funciona da mesma forma que reshape(-1) e também retorna uma visualização do array original:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) pode ser utilizado em vez de chamar o método.

ndarray.flatten()

Caso seja necessário uma cópia do array original, e não uma visualização, utilize o método .flatten():

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy
Note
Nota

Você pode sempre copiar uma visualização de um array para criar um objeto separado e modificar essa cópia sem afetar o array original.

Tarefa

Swipe to start coding

  1. Utilize corretamente o método .flatten() para achatar exam_scores e armazene o resultado em exam_scores_flattened.
  2. Utilize corretamente o método .reshape() para achatar exam_scores e armazene o resultado em exam_scores_reshaped.
  3. Utilize o método .ravel() para achatar exam_scores e armazene o resultado em exam_scores_raveled.
  4. Entre os três arrays achatados criados, escolha aquele que é uma cópia do array original, e não uma visualização, e atribua 100 ao seu primeiro elemento (utilize indexação positiva).

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 5
single

single

some-alt