On this page
numpy.insert
- numpy.insert(arr, obj, values, axis=None)[source]
- 
    Insert values along the given axis before the given indices. - Parameters
- 
      - arrarray_like
- 
        Input array. 
- objint, slice or sequence of ints
- 
        Object that defines the index or indices before which valuesis inserted.New in version 1.8.0. Support for multiple insertions when objis a single scalar or a sequence with one element (similar to calling insert multiple times).
- valuesarray_like
- 
        Values to insert into arr. If the type ofvaluesis different from that ofarr,valuesis converted to the type ofarr.valuesshould be shaped so thatarr[...,obj,...] = valuesis legal.
- axisint, optional
- 
        Axis along which to insert values. Ifaxisis None thenarris flattened first.
 
- Returns
- 
      - outndarray
- 
        A copy of arrwithvaluesinserted. Note thatinsertdoes not occur in-place: a new array is returned. Ifaxisis None,outis a flattened array.
 
 See also - append
- 
       Append elements at the end of an array. 
- concatenate
- 
       Join a sequence of arrays along an existing axis. 
- delete
- 
       Delete elements from an array. 
 NotesNote that for higher dimensional inserts obj=0behaves very different fromobj=[0]just likearr[:,0,:] = valuesis different fromarr[:,[0],:] = values.Examples>>> a = np.array([[1, 1], [2, 2], [3, 3]]) >>> a array([[1, 1], [2, 2], [3, 3]]) >>> np.insert(a, 1, 5) array([1, 5, 1, ..., 2, 3, 3]) >>> np.insert(a, 1, 5, axis=1) array([[1, 5, 1], [2, 5, 2], [3, 5, 3]])Difference between sequence and scalars: >>> np.insert(a, [1], [[1],[2],[3]], axis=1) array([[1, 1, 1], [2, 2, 2], [3, 3, 3]]) >>> np.array_equal(np.insert(a, 1, [1, 2, 3], axis=1), ... np.insert(a, [1], [[1],[2],[3]], axis=1)) True>>> b = a.flatten() >>> b array([1, 1, 2, 2, 3, 3]) >>> np.insert(b, [2, 2], [5, 6]) array([1, 1, 5, ..., 2, 3, 3])>>> np.insert(b, slice(2, 4), [5, 6]) array([1, 1, 5, ..., 2, 3, 3])>>> np.insert(b, [2, 2], [7.13, False]) # type casting array([1, 1, 7, ..., 2, 3, 3])>>> x = np.arange(8).reshape(2, 4) >>> idx = (1, 3) >>> np.insert(x, idx, 999, axis=1) array([[ 0, 999, 1, 2, 999, 3], [ 4, 999, 5, 6, 999, 7]])
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
 https://numpy.org/doc/1.19/reference/generated/numpy.insert.html