Numpy ndarray.flat Attribute



The Numpy ndarray.flat Attribute which returns a 1-D iterator over the array. This iterator allows us to iterate over the array as if it were flattened but it does not create a new array.

This Attribute is especially useful when we need to iterate over elements of a multidimensional array in a flat manner.

Syntax

Here is the syntax of Numpy ndarray.flat() Attribute −

numpy.ndarray.flat

Parameter

The Numpy ndarray.flat attribute does not take any parameters.

Return Value

This attribute returns a 1-D iterator over the array. This iterator can be used to access and modify elements of the array.

Example 1

Following is the example of Numpy ndarray.flat Attribute, which shows how to iterate over each element of a 2D array using flat Attribute −

import numpy as np

# Creating a 2D numpy array
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Using flat to iterate over elements
for item in array_2d.flat:
    print(item)

Output

1
2
3
4
5
6

Example 2

This example doubles each element in the array by iterating through the flat iterator and modifying each element.

 
import numpy as np

# Creating a 2D numpy array
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Modifying elements using flat iterator
for index, value in enumerate(array_2d.flat):
    array_2d.flat[index] = value * 2

print(array_2d)

After execution of above code, we get the following result

[[ 2  4  6]
 [ 8 10 12]]

Example 3

Here in this example we access specific elements of a 3D array using the flat iterator, showing how the flat iterator flattens the multidimensional array into a single dimension for easy access −

import numpy as np

# Creating a 3D numpy array
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

# Accessing specific elements using flat
print(array_3d.flat[0])  # First element
print(array_3d.flat[5])  # Sixth element
print(array_3d.flat[-1]) # Last element

Output

1
6
8
numpy_array_manipulation.htm
Advertisements
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy