Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Slicing | Indexing and Slicing
Ultimate NumPy
course content

Conteúdo do Curso

Ultimate NumPy

Ultimate NumPy

1. NumPy Basics
2. Indexing and Slicing
3. Commonly used NumPy Functions
4. Math with NumPy

book
Slicing

Slicing in Python refers to retrieving elements from one index to another within a sequence. In this chapter, however, we will focus on slicing in NumPy arrays.

Slicing in 1D Arrays

The general syntax for slicing in 1D arrays is as follows: array[start:end:step].

  • start is the index at which to start slicing;
  • end is the index at which slicing ends (the index itself is not included);
  • step specifies the increments between the indices (default is 1).

Here is an example to clarify everything (purple squares represent the elements retrieved from slicing):

Note

Since we did not explicitly specify step, it defaults to a value of 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

Omitting Start, End, and Step

As you can see, we can often omit the start, end, step, or even all of them at the same time. For example, step can be omitted when we want it to be equal to 1. start and end can be omitted in the following scenarios:

  1. Omitting start:

    • Slicing from the first element (step is positive);
    • Slicing from the last element (step is negative).
  2. Omitting end:

    • Slicing to the last element inclusive (step is positive);
    • Slicing to the first element inclusive (step is negative).

Let's take a look at a few more examples (the black arrow indicates that the elements are taken in reverse order):

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

The picture below shows the structure of the weekly_sales array used in the task:

Tarefa
test

Swipe to show code editor

You are analyzing the daily sales data of a small retail store. The sales for the past week are stored in the weekly_sales array, with each element representing the sales for a specific day.

  1. Create a slice of weekly_sales that includes the sales data for every second day, starting from the second day (Tuesday).

  2. Use a positive index for the start and leave the end unspecified.

  3. Store the result in alternate_day_sales.

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
toggle bottom row

book
Slicing

Slicing in Python refers to retrieving elements from one index to another within a sequence. In this chapter, however, we will focus on slicing in NumPy arrays.

Slicing in 1D Arrays

The general syntax for slicing in 1D arrays is as follows: array[start:end:step].

  • start is the index at which to start slicing;
  • end is the index at which slicing ends (the index itself is not included);
  • step specifies the increments between the indices (default is 1).

Here is an example to clarify everything (purple squares represent the elements retrieved from slicing):

Note

Since we did not explicitly specify step, it defaults to a value of 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

Omitting Start, End, and Step

As you can see, we can often omit the start, end, step, or even all of them at the same time. For example, step can be omitted when we want it to be equal to 1. start and end can be omitted in the following scenarios:

  1. Omitting start:

    • Slicing from the first element (step is positive);
    • Slicing from the last element (step is negative).
  2. Omitting end:

    • Slicing to the last element inclusive (step is positive);
    • Slicing to the first element inclusive (step is negative).

Let's take a look at a few more examples (the black arrow indicates that the elements are taken in reverse order):

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

The picture below shows the structure of the weekly_sales array used in the task:

Tarefa
test

Swipe to show code editor

You are analyzing the daily sales data of a small retail store. The sales for the past week are stored in the weekly_sales array, with each element representing the sales for a specific day.

  1. Create a slice of weekly_sales that includes the sales data for every second day, starting from the second day (Tuesday).

  2. Use a positive index for the start and leave the end unspecified.

  3. Store the result in alternate_day_sales.

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
Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
We're sorry to hear that something went wrong. What happened?
some-alt