Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Atribuição de Valores a Subarrays Indexados | Indexação e Fatiamento
Numpy Definitivo

bookAtribuição de Valores a Subarrays Indexados

Com arrays indexados, as operações tornam-se mais interessantes. Aqui, o foco será em subarrays 1D e 2D, pois subarrays 3D são raramente utilizados na prática.

Vamos começar atribuindo valores a fatias. A sintaxe geral é: slice = values, onde slice é uma fatia de um determinado array e values são os valores a serem atribuídos.

Formatos possíveis para values:

  • um escalar único (número);
  • um array 1D do mesmo tamanho da fatia (se for 1D); ou do tamanho da segunda dimensão (se a fatia for 2D);
  • um array 2D com o mesmo formato de uma fatia 2D.
123456789101112131415161718
import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
copy

Ao atribuir um escalar a uma fatia 1D, esse escalar é atribuído a cada elemento da fatia. Quando um array 1D é atribuído a uma fatia 2D, esse array 1D é atribuído a cada array 1D na fatia. A atribuição de um escalar a uma fatia 2D funciona da mesma forma que em uma fatia 1D.

A atribuição de valores a subarrays indexados por array de inteiros funciona da mesma maneira que com fatias. A atribuição de valores a subarrays indexados por booleanos funciona da mesma forma que com fatias 1D.

Tarefa

Swipe to start coding

Você está gerenciando um conjunto de dados de preços e avaliações de produtos. Os preços estão armazenados no array prices, e as avaliações (de 0 a 10) estão armazenadas no array ratings, onde cada linha representa uma categoria de produto diferente. Sua tarefa é atualizar os preços e avaliações com base em critérios específicos:

  1. Atribuir o valor 20 a cada elemento em prices maior que 10 (indexação booleana) utilizando um escalar.
  2. Atribuir um array NumPy com os elementos 9, 8 aos dois últimos elementos da segunda linha (segundo array 1D) de ratings. Utilize um índice de linha positivo e um slice especificando apenas o start (índice positivo).

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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

bookAtribuição de Valores a Subarrays Indexados

Deslize para mostrar o menu

Com arrays indexados, as operações tornam-se mais interessantes. Aqui, o foco será em subarrays 1D e 2D, pois subarrays 3D são raramente utilizados na prática.

Vamos começar atribuindo valores a fatias. A sintaxe geral é: slice = values, onde slice é uma fatia de um determinado array e values são os valores a serem atribuídos.

Formatos possíveis para values:

  • um escalar único (número);
  • um array 1D do mesmo tamanho da fatia (se for 1D); ou do tamanho da segunda dimensão (se a fatia for 2D);
  • um array 2D com o mesmo formato de uma fatia 2D.
123456789101112131415161718
import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
copy

Ao atribuir um escalar a uma fatia 1D, esse escalar é atribuído a cada elemento da fatia. Quando um array 1D é atribuído a uma fatia 2D, esse array 1D é atribuído a cada array 1D na fatia. A atribuição de um escalar a uma fatia 2D funciona da mesma forma que em uma fatia 1D.

A atribuição de valores a subarrays indexados por array de inteiros funciona da mesma maneira que com fatias. A atribuição de valores a subarrays indexados por booleanos funciona da mesma forma que com fatias 1D.

Tarefa

Swipe to start coding

Você está gerenciando um conjunto de dados de preços e avaliações de produtos. Os preços estão armazenados no array prices, e as avaliações (de 0 a 10) estão armazenadas no array ratings, onde cada linha representa uma categoria de produto diferente. Sua tarefa é atualizar os preços e avaliações com base em critérios específicos:

  1. Atribuir o valor 20 a cada elemento em prices maior que 10 (indexação booleana) utilizando um escalar.
  2. Atribuir um array NumPy com os elementos 9, 8 aos dois últimos elementos da segunda linha (segundo array 1D) de ratings. Utilize um índice de linha positivo e um slice especificando apenas o start (índice positivo).

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 2. Capítulo 10
single

single

some-alt