Given a Numpy array, the task is to add rows/columns basis on requirements to the Numpy array. Let’s see a few examples of this problem in Python.
Add columns in the Numpy array
Method 1: Using np.append()
Python3
import numpy as np
ini_array = np.array([[ 1 , 2 , 3 ], [ 45 , 4 , 7 ], [ 9 , 6 , 10 ]])
# printing initial array print ( "initial_array : " , str (ini_array));
# Array to be added as column column_to_be_added = np.array([[ 1 ], [ 2 ], [ 3 ]])
# Adding column to array using append() method arr = np.append(ini_array, column_to_be_added, axis = 1 )
# printing result print ( "resultant array" , str (arr))
|
Output:
initial_array : [[ 1 2 3] [45 4 7] [ 9 6 10]] resultant array [[ 1 2 3 1] [45 4 7 2] [ 9 6 10 3]]
Method 2: Using np.concatenate
Python3
import numpy as np
ini_array = np.array([[ 1 , 2 , 3 ], [ 45 , 4 , 7 ], [ 9 , 6 , 10 ]])
# Array to be added as column column_to_be_added = np.array([[ 1 ], [ 2 ], [ 3 ]])
# Adding column to array using append() method arr = np.concatenate([ini_array, column_to_be_added], axis = 1 )
# printing result print ( "resultant array" , str (arr))
|
Output:
resultant array [[ 1 2 3 1] [45 4 7 2] [ 9 6 10 3]]
Method 3: Using np.insert()
Python3
import numpy as np
ini_array = np.array([[ 1 , 2 , 3 ], [ 45 , 4 , 7 ], [ 9 , 6 , 10 ]])
# Array to be added as column column_to_be_added = np.array([[ 1 ], [ 2 ], [ 3 ]])
# Adding column to array using append() method arr = np.insert(ini_array, 0 , column_to_be_added, axis = 1 )
# printing result print ( "resultant array" , str (arr))
|
Output:
resultant array [[ 1 2 3 1] [45 4 7 2] [ 9 6 10 3]]
Method 4: Using np.hstack()
Python3
import numpy as np
ini_array = np.array([[ 1 , 2 , 3 ], [ 45 , 4 , 7 ], [ 9 , 6 , 10 ]])
# Array to be added as column column_to_be_added = np.array([ 1 , 2 , 3 ])
# Adding column to numpy array result = np.hstack((ini_array, np.atleast_2d(column_to_be_added).T))
# printing result print ( "resultant array" , str (result))
|
Output:
resultant array [[ 1 2 3 1] [45 4 7 2] [ 9 6 10 3]]
Method 5: Using np.column_stack()
Python3
import numpy as np
ini_array = np.array([[ 1 , 2 , 3 ], [ 45 , 4 , 7 ], [ 9 , 6 , 10 ]])
# Array to be added as column column_to_be_added = np.array([ 1 , 2 , 3 ])
# Adding column to numpy array result = np.column_stack((ini_array, column_to_be_added))
# printing result print ( "resultant array" , str (result))
|
Output:
resultant array [[ 1 2 3 1] [45 4 7 2] [ 9 6 10 3]]
Add row in Numpy array
Method 1: Using np.r_
Python3
import numpy as np
ini_array = np.array([[ 1 , 2 , 3 ], [ 45 , 4 , 7 ], [ 9 , 6 , 10 ]])
# printing initial array print ( "initial_array : " , str (ini_array));
# Array to be added as row row_to_be_added = np.array([ 1 , 2 , 3 ])
# Adding row to numpy array result = np.r_[ini_array,[row_to_be_added]]
# printing result print ( "resultant array" , str (result))
|
Output:
initial_array : [[ 1 2 3] [45 4 7] [ 9 6 10]] resultant array [[ 1 2 3] [45 4 7] [ 9 6 10] [ 1 2 3]]
Method 2: Using np.insert
Python3
import numpy as np
ini_array = np.array([[ 1 , 2 , 3 ], [ 45 , 4 , 7 ], [ 9 , 6 , 10 ]])
# Array to be added as row row_to_be_added = np.array([ 1 , 2 , 3 ])
#last row row_n = arr.shape[ 0 ]
arr = np.insert(ini_array,row_n,[row_to_be_added],axis = 0 )
# printing result print ( "resultant array" , str (arr))
|
Output:
resultant array [[ 1 2 3] [45 4 7] [ 9 6 10] [ 1 2 3]]
Method 3: Using np.vstack()
Python3
import numpy as np
ini_array = np.array([[ 1 , 2 , 3 ], [ 45 , 4 , 7 ], [ 9 , 6 , 10 ]])
# Array to be added as row row_to_be_added = np.array([ 1 , 2 , 3 ])
# Adding row to numpy array result = np.vstack ((ini_array, row_to_be_added) )
# printing result print ( "resultant array" , str (result))
|
Output:
resultant array [[ 1 2 3] [45 4 7] [ 9 6 10] [ 1 2 3]]
Method 4: Using numpy.append()
Sometimes we have an empty array and we need to append rows in it. Numpy provides the function to append a row to an empty Numpy array using numpy.append() function.
Example 1: Adding new rows to an empty 2-D array
Python3
# importing Numpy package import numpy as np
# creating an empty 2d array of int type empt_array = np.empty(( 0 , 2 ), int )
print ( "Empty array:" )
print (empt_array)
# adding two new rows to empt_array # using np.append() empt_array = np.append(empt_array, np.array([[ 10 , 20 ]]), axis = 0 )
empt_array = np.append(empt_array, np.array([[ 40 , 50 ]]), axis = 0 )
print ( "\nNow array is:" )
print (empt_array)
|
Empty array: [] Now array is: [[10 20] [40 50]]
Example 2: Adding new rows to an empty 3-D array
Python3
# importing Numpy package import numpy as np
# creating an empty 3d array of int type empt_array = np.empty(( 0 , 3 ), int )
print ( "Empty array:" )
print (empt_array)
# adding three new rows to empt_array # using np.append() empt_array = np.append(empt_array, np.array([[ 10 , 20 , 40 ]]), axis = 0 )
empt_array = np.append(empt_array, np.array([[ 40 , 50 , 55 ]]), axis = 0 )
empt_array = np.append(empt_array, np.array([[ 40 , 50 , 55 ]]), axis = 0 )
print ( "\nNow array is:" )
print (empt_array)
|
Empty array: [] Now array is: [[10 20 40] [40 50 55] [40 50 55]]
Example 3: Adding new rows to an empty 4-D array
Python3
# importing Numpy package import numpy as np
# creating an empty 4d array of int type empt_array = np.empty(( 0 , 4 ), int )
print ( "Empty array:" )
print (empt_array)
# adding four new rows to empt_array # using np.append() empt_array = np.append(empt_array, np.array([[ 100 , 200 , 400 , 888 ]]), axis = 0 )
empt_array = np.append(empt_array, np.array([[ 405 , 500 , 550 , 558 ]]), axis = 0 )
empt_array = np.append(empt_array, np.array([[ 404 , 505 , 555 , 145 ]]), axis = 0 )
empt_array = np.append(empt_array, np.array([[ 44 , 55 , 550 , 150 ]]), axis = 0 )
print ( "\nNow array is:" )
print (empt_array)
|
Empty array: [] Now array is: [[100 200 400 888] [405 500 550 558] [404 505 555 145] [ 44 55 550 150]]