Fatiamento
Fatiamento em Python refere-se à recuperação de elementos de um índice a outro dentro de uma sequência. Neste capítulo, no entanto, focaremos no fatiamento em arrays do NumPy.
Fatiamento em Arrays 1D
A sintaxe geral para fatiamento em arrays 1D é a seguinte: array[start:end:step].
starté o índice no qual o fatiamento começa;endé o índice no qual o fatiamento termina (o índice em si não é incluído);stepespecifica os incrementos entre os índices (o padrão é1).
Aqui está um exemplo para esclarecer tudo (os quadrados em roxo representam os elementos recuperados pelo fatiamento):
Como não especificamos explicitamente o step, ele assume o valor padrão de 1.
123456789import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
Omissão de Início, Fim e Passo
Como pode ser observado, muitas vezes é possível omitir os parâmetros start, end, step ou até todos eles ao mesmo tempo. Por exemplo, o step pode ser omitido quando desejamos que ele seja igual a 1. Os parâmetros start e end podem ser omitidos nos seguintes cenários:
- Omissão de
start:- Fatiamento a partir do primeiro elemento (
steppositivo); - Fatiamento a partir do último elemento (
stepnegativo).
- Fatiamento a partir do primeiro elemento (
- Omissão de
end:- Fatiamento até o último elemento inclusive (
steppositivo); - Fatiamento até o primeiro elemento inclusive (
stepnegativo).
- Fatiamento até o último elemento inclusive (
Veja mais alguns exemplos (a seta preta indica que os elementos são selecionados em ordem reversa):
1234567891011import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
A imagem abaixo mostra a estrutura do array weekly_sales utilizado na tarefa:
Swipe to start coding
Você está analisando os dados de vendas diárias de uma pequena loja de varejo. As vendas da última semana estão armazenadas no array weekly_sales, com cada elemento representando as vendas de um dia específico.
- Crie um fatiamento de
weekly_salesque inclua os dados de vendas de cada segundo dia, começando pelo segundo dia (terça-feira). - Utilize um índice positivo para o
starte deixe oendem branco. - Armazene o resultado em
alternate_day_sales.
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 how negative steps work in slicing?
What happens if I use a step value greater than 1?
Can you show more examples of slicing with different start and end values?
Awesome!
Completion rate improved to 3.7
Fatiamento
Deslize para mostrar o menu
Fatiamento em Python refere-se à recuperação de elementos de um índice a outro dentro de uma sequência. Neste capítulo, no entanto, focaremos no fatiamento em arrays do NumPy.
Fatiamento em Arrays 1D
A sintaxe geral para fatiamento em arrays 1D é a seguinte: array[start:end:step].
starté o índice no qual o fatiamento começa;endé o índice no qual o fatiamento termina (o índice em si não é incluído);stepespecifica os incrementos entre os índices (o padrão é1).
Aqui está um exemplo para esclarecer tudo (os quadrados em roxo representam os elementos recuperados pelo fatiamento):
Como não especificamos explicitamente o step, ele assume o valor padrão de 1.
123456789import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
Omissão de Início, Fim e Passo
Como pode ser observado, muitas vezes é possível omitir os parâmetros start, end, step ou até todos eles ao mesmo tempo. Por exemplo, o step pode ser omitido quando desejamos que ele seja igual a 1. Os parâmetros start e end podem ser omitidos nos seguintes cenários:
- Omissão de
start:- Fatiamento a partir do primeiro elemento (
steppositivo); - Fatiamento a partir do último elemento (
stepnegativo).
- Fatiamento a partir do primeiro elemento (
- Omissão de
end:- Fatiamento até o último elemento inclusive (
steppositivo); - Fatiamento até o primeiro elemento inclusive (
stepnegativo).
- Fatiamento até o último elemento inclusive (
Veja mais alguns exemplos (a seta preta indica que os elementos são selecionados em ordem reversa):
1234567891011import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
A imagem abaixo mostra a estrutura do array weekly_sales utilizado na tarefa:
Swipe to start coding
Você está analisando os dados de vendas diárias de uma pequena loja de varejo. As vendas da última semana estão armazenadas no array weekly_sales, com cada elemento representando as vendas de um dia específico.
- Crie um fatiamento de
weekly_salesque inclua os dados de vendas de cada segundo dia, começando pelo segundo dia (terça-feira). - Utilize um índice positivo para o
starte deixe oendem branco. - Armazene o resultado em
alternate_day_sales.
Solução
Obrigado pelo seu feedback!
single