Skip to content
Related Articles

Related Articles

numpy.ndarray.flat() in Python
  • Last Updated : 23 Oct, 2020

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 Program illustrating
# working of ndarray.flat()
  
import numpy as geek 
  
# Working on 1D iteration of 2D array 
array = geek.arange(15).reshape(3, 5)
print("2D array : \n",array )
  
# Using flat() : 1D iterator over range
print("\nUsing Array : ", array.flat[2:6])
  
# Using flat() to Print 1D repersented array
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 Program illustrating
# working of ndarray.flat()
  
import numpy as geek 
  
# Working on 1D iteration of 2D array 
array = geek.arange(15).reshape(3, 5)
print("2D array : \n",array )
  
# All elements set to 1
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 Program illustrating
# working of ndarray.flat()
  
import numpy as geek 
  
# Working on 1D iteration of 2D array 
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-ID. Please run them on your systems to explore the working.
This article is contributed by Mohit Gupta_OMG 😀. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :