Slice a 2D Array in Python
Last Updated :
11 Mar, 2024
We are given a 2D array matrix and we have to Slice this matrix 2D array and return the result. In this article, we will see how we can Slice the 2D array in Python.
Example
Input : matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9] ]
Output : [[ 4, 5, 6]]
Explanation : We can see that 2D array (matrix) is sliced using Slicing in Python.
2D Array Slicing in Python
Below are some of the ways by which we can slice a 2D array in Python:
- Basic Slicing
- Using List Comprehension
- Using np.split() Method
- Using Itertools Module
Basic Slicing
In this example, matrix[0:2]
selects the first and second rows, and [1:3]
extracts the second and third columns. The result is a sliced 2D array containing the elements from rows 1 to 2 and columns 2 to 3.
Python3
import numpy as np
# Example 2D array
matrix = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
# Basic slicing
result = matrix[0:2][1:3]
print(type(matrix))
print(result)
Output<class 'numpy.ndarray'>
[[4 5 6]]
Slice a 2D Array in Python Using List Comprehension
In this method, a list comprehension is used to iterate over the desired rows (0 to 1) and extract the desired columns (1 to 2). The result is a list containing the sliced rows.
Python3
import numpy as np
# Example 2D array
matrix = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
# List comprehension for slicing
result = [row[1:3] for row in matrix[0:2]]
print(type(matrix))
print(result)
Output<class 'numpy.ndarray'>
[array([2, 3]), array([5, 6])]
Slice a 2D Array in Python Using np.split() Method
In this example, np.split()
is used with the axis=1
parameter to split the 2D array along the columns. The second argument [1, 2]
specifies the indices at which the array should be split. The resulting slices are stored in the slices
variable.
Python3
import numpy as np
# Example 2D array
matrix = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
# Splitting the array along the horizontal axis (axis=1)
slices = np.split(matrix, [1, 2])
# Displaying the slices
for i, slice_arr in enumerate(slices):
print(f"Slice {i + 1}:\n{slice_arr}\n")
OutputSlice 1:
[[1 2 3]]
Slice 2:
[[4 5 6]]
Slice 3:
[[7 8 9]]
Slice a 2D Array in Python Using Itertools Module
In this example, islice
is used to iterate over the rows (0 to 1) and then apply another islice
to extract the columns (1 to 2). The result is a list containing the sliced rows.
Python3
from itertools import islice
import numpy as np
# Example 2D array
matrix = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
# Itertools islice
result = [list(islice(row, 1, 3)) for row in islice(matrix, 0, 2)]
print(type(matrix))
print(result)
Output<class 'numpy.ndarray'>
[[2, 3], [5, 6]]
Similar Reads
Slice a 2D List in Python Slicing a 2D list in Python is a common task when working with matrices, tables, or any other structured data. It allows you to extract specific portions of the list, making it easier to manipulate and analyze the data. In this article, we'll explore four simple and commonly used methods to slice a
4 min read
Use of slice() in Python In Python, slice() is used to access a portion of a sequence such as a list or tuple. It helps improve code readability and maintainability by giving meaningful names to slices instead of using hardcoded indices. For example: slice(1, 5, 2) corresponds to a[1:5:2] and slice(1, 4) corresponds to a[1:
3 min read
Python - Convert 2D list to 3D at K slicing Sometimes, while working with Python lists, we can have a problem in which we need to convert a 2D list to 3D, at every Kth list. This type of problem is peculiar, but can have application in various data domains. Let's discuss certain ways in which this task can be performed. Input : test_list = [[
4 min read
Python | Alternate range slicing in list List slicing is quite common utility in Python, one can easily slice certain elements from a list, but sometimes, we need to perform that task in non-contiguous manner and slice alternate ranges. Let's discuss how this particular problem can be solved. Method #1 : Using list comprehension List compr
6 min read
How To Slice A List Of Tuples In Python? In Python, slicing a list of tuples allows you to extract specific subsets of data efficiently. Tuples, being immutable, offer a stable structure. Use slicing notation to select ranges or steps within the list of tuples. This technique is particularly handy when dealing with datasets or organizing i
3 min read