numpy.insert python prepend element to numpy array with axis parameter

numpy has an insert function that's accesible via numpy.insert referto its document.

You can try this code

import numpy as np
a = np.array([[1, 11], [2, 22], [3, 33]])
print('Original array:')
x= np.insert(a, 0, 6, axis=1)
x= np.insert(a, 2, 5, axis=0)

The output will be:

Here the original array is a matrix with two dimensions:

In this case the axis=0 means we want to insert a row and if axis=1 it means we want to insert a column.

The argument axis= specifies that the insertion should happen as a column or row.


  • row index 0 = [1 11]
  • row index 1 = [2 22]
  • row index 2 = [3 33]
  • column index 0 = 1 2 3 sorry for this presentation, you understand that it is a column
  • column index 1 = 11 22 33

Now lets look at the numpy.insert parameters command again


  • As you see the first argument a specifies the object (original array) to be inserted into.
  • The second argument specifies where we want to insert. ( before which index of original array, regarding we want to insert as column or row )
  • The third argument specifies what is to be inserted.

In General form numpy.insert has this form:

numpy.insert(arr, obj, values, axis)


arr : Input array

obj : The index before which insertion is to be made

values : The array of values to be inserted. It can be also one number or array of numbers

axis : The axis along which to insert. If not given, the input array is flattened

Let’s try when values in the paramenters is an array like:

This code:

x= np.insert(a, 2, [40,70], axis=0)

the results will be:

Let’s try numpy.insert without passing axis!

x= np.insert(a, 2, [40,70])


[ 1 11 40 70 2 22 3 33]

As you see if axis is not given, the input array is flattened.

An alternative solution is using:

x = np.c_[np.ones((100,1)),x]



Posting about Python and Laravel

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store