Atribuiçã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.
123456789101112131415161718import 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)
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.
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:
- Atribuir o valor
20a cada elemento empricesmaior que 10 (indexação booleana) utilizando um escalar. - Atribuir um array NumPy com os elementos
9,8aos dois últimos elementos da segunda linha (segundo array 1D) deratings. Utilize um índice de linha positivo e um slice especificando apenas ostart(índice positivo).
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain what happens if the shapes of the assigned values and the slice don't match?
Can you show more examples of assigning values to slices using boolean indexing?
What is the difference between assigning a 1D array and a 2D array to a 2D slice?
Awesome!
Completion rate improved to 3.7
Atribuiçã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.
123456789101112131415161718import 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)
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.
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:
- Atribuir o valor
20a cada elemento empricesmaior que 10 (indexação booleana) utilizando um escalar. - Atribuir um array NumPy com os elementos
9,8aos dois últimos elementos da segunda linha (segundo array 1D) deratings. Utilize um índice de linha positivo e um slice especificando apenas ostart(índice positivo).
Solução
Obrigado pelo seu feedback!
single