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.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...