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

bookFatiamento

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);
  • step especifica 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):

Note
Nota

Como não especificamos explicitamente o step, ele assume o valor padrão de 1.

123456789
import 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:])
copy

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:

  1. Omissão de start:
    • Fatiamento a partir do primeiro elemento (step positivo);
    • Fatiamento a partir do último elemento (step negativo).
  2. Omissão de end:
    • Fatiamento até o último elemento inclusive (step positivo);
    • Fatiamento até o primeiro elemento inclusive (step negativo).

Veja mais alguns exemplos (a seta preta indica que os elementos são selecionados em ordem reversa):

1234567891011
import 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[:])
copy

A imagem abaixo mostra a estrutura do array weekly_sales utilizado na tarefa:

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.

  1. Crie um fatiamento de weekly_sales que inclua os dados de vendas de cada segundo dia, começando pelo segundo dia (terça-feira).
  2. Utilize um índice positivo para o start e deixe o end em branco.
  3. Armazene o resultado em alternate_day_sales.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.7

bookFatiamento

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);
  • step especifica 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):

Note
Nota

Como não especificamos explicitamente o step, ele assume o valor padrão de 1.

123456789
import 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:])
copy

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:

  1. Omissão de start:
    • Fatiamento a partir do primeiro elemento (step positivo);
    • Fatiamento a partir do último elemento (step negativo).
  2. Omissão de end:
    • Fatiamento até o último elemento inclusive (step positivo);
    • Fatiamento até o primeiro elemento inclusive (step negativo).

Veja mais alguns exemplos (a seta preta indica que os elementos são selecionados em ordem reversa):

1234567891011
import 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[:])
copy

A imagem abaixo mostra a estrutura do array weekly_sales utilizado na tarefa:

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.

  1. Crie um fatiamento de weekly_sales que inclua os dados de vendas de cada segundo dia, começando pelo segundo dia (terça-feira).
  2. Utilize um índice positivo para o start e deixe o end em branco.
  3. Armazene o resultado em alternate_day_sales.

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

single

some-alt