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 is1
).
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 of1
.
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:])
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:
-
Omitting
start
:- Slicing from the first element (
step
is positive); - Slicing from the last element (
step
is negative).
- Slicing from the first element (
-
Omitting
end
:- Slicing to the last element inclusive (
step
is positive); - Slicing to the first element inclusive (
step
is negative).
- Slicing to the last element inclusive (
Let's take a look at a few more examples (the black arrow indicates that the elements are taken in reverse order):
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[:])
The picture below shows the structure of the weekly_sales
array used in the task:
Swipe to start coding
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.
-
Create a slice of
weekly_sales
that includes the sales data for every second day, starting from the second day (Tuesday). -
Use a positive index for the
start
and leave theend
unspecified. -
Store the result in
alternate_day_sales
.
Solution
Thanks for your feedback!
single
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Awesome!
Completion rate improved to 3.7Awesome!
Completion rate improved to 3.7
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 is1
).
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 of1
.
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:])
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:
-
Omitting
start
:- Slicing from the first element (
step
is positive); - Slicing from the last element (
step
is negative).
- Slicing from the first element (
-
Omitting
end
:- Slicing to the last element inclusive (
step
is positive); - Slicing to the first element inclusive (
step
is negative).
- Slicing to the last element inclusive (
Let's take a look at a few more examples (the black arrow indicates that the elements are taken in reverse order):
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[:])
The picture below shows the structure of the weekly_sales
array used in the task:
Swipe to start coding
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.
-
Create a slice of
weekly_sales
that includes the sales data for every second day, starting from the second day (Tuesday). -
Use a positive index for the
start
and leave theend
unspecified. -
Store the result in
alternate_day_sales
.
Solution
Thanks for your feedback!
single
Awesome!
Completion rate improved to 3.7
Slicing
Swipe to show menu
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 is1
).
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 of1
.
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:])
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:
-
Omitting
start
:- Slicing from the first element (
step
is positive); - Slicing from the last element (
step
is negative).
- Slicing from the first element (
-
Omitting
end
:- Slicing to the last element inclusive (
step
is positive); - Slicing to the first element inclusive (
step
is negative).
- Slicing to the last element inclusive (
Let's take a look at a few more examples (the black arrow indicates that the elements are taken in reverse order):
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[:])
The picture below shows the structure of the weekly_sales
array used in the task:
Swipe to start coding
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.
-
Create a slice of
weekly_sales
that includes the sales data for every second day, starting from the second day (Tuesday). -
Use a positive index for the
start
and leave theend
unspecified. -
Store the result in
alternate_day_sales
.
Solution
Thanks for your feedback!