numpy.ndarray.flat() in Python
Last Updated :
28 Mar, 2022
The numpy.ndarray.flat() function is used as a 1_D iterator over N-dimensional arrays.
It is not a subclass of, Python’s built-in iterator object, otherwise it a numpy.flatiter instance.
Syntax :
numpy.ndarray.flat()
Parameters :
index : [tuple(int)] index of the values to iterate
Return :
1-D iteration of array
Code 1 : Working on 2D array
Python
import numpy as geek
array = geek.arange( 15 ).reshape( 3 , 5 )
print ( "2D array : \n" ,array )
print ( "\nUsing Array : " , array.flat[ 2 : 6 ])
print ( "\n1D representation of array : \n ->" , array.flat[ 0 : 15 ])
|
Output :
2D array :
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
Using Array : [2 3 4 5]
1D representation of array :
-> [ 0 1 2 ..., 12 13 14]
Code 2 : Changing the values of array
Python
import numpy as geek
array = geek.arange( 15 ).reshape( 3 , 5 )
print ( "2D array : \n" ,array )
array.flat = 1
print ( "\nAll Values set to 1 : \n" , array)
array.flat[ 3 : 6 ] = 8
array.flat[ 8 : 10 ] = 9
print ( "Changing values in a range : \n" , array)
|
Output :
2D array :
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
All Values set to 1 :
[[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]]
Changing values in a range :
[[1 1 1 8 8]
[8 1 1 9 9]
[1 1 1 1 1]]
What actually numpy.flatiter is ?
A flatiter iterator is returned by x.flat for any array x. It allows iterating(in row-major manner)over N-dimensional arrays, either in a for-loop or by calling its next method.
Code 3 : Role of numpy.flatitter()
Python
import numpy as geek
array = geek.arange( 15 ).reshape( 3 , 5 )
print ( "2D array : \n" ,array )
print ( "\nID array : \n" , array.flat[ 0 : 15 ])
print ( "\nType of array,flat() : " , type (array.flat))
for i in array.flat:
print (i, end = ' ' )
|
Output :
2D array :
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
ID array :
[ 0 1 2 ..., 12 13 14]
Type of array,flat() :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
References :
https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flat.html#numpy.ndarray.flat
Note :
These codes won’t run on online IDE’s. So please, run them on your systems to explore the working.
Share your thoughts in the comments
Please Login to comment...