### Navigation

- index
- modules |
- modules |
- next |
- previous |
- NumPy v1.7 Manual (DRAFT) »
- NumPy Reference »
- Routines »
- Array manipulation routines »

# numpy.insert

`numpy.``insert`(arr, obj, values, axis=None)

  Insert values along the given axis before the given indices.

  Parameters : | arr : array_like Input array. obj : int, slice or sequence of ints Object that defines the index or indices before which values is inserted. values : array_like Values to insert into arr. If the type of values is different from that of arr, values is converted to the type of arr. axis : int, optional Axis along which to insert values. If axis is None then arr is flattened first.
  Returns : | out : ndarray A copy of arr with values inserted. Note that `insert` does not occur in-place: a new array is returned. If axis is None, out is a flattened array.

  See also

  `append`
    Append elements at the end of an array.
  `delete`
    Delete elements from an array.

  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, 2, 3, 3])
      >>> np.insert(a, 1, 5, axis=1)
      array([[1, 5, 1],
             [2, 5, 2],
             [3, 5, 3]])

      >>> b = a.flatten()
      >>> b
      array([1, 1, 2, 2, 3, 3])
      >>> np.insert(b, [2, 2], [5, 6])
      array([1, 1, 5, 6, 2, 2, 3, 3])

      >>> np.insert(b, slice(2, 4), [5, 6])
      array([1, 1, 5, 2, 6, 2, 3, 3])

      >>> np.insert(b, [2, 2], [7.13, False]) # type casting
      array([1, 1, 7, 0, 2, 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]])

### Navigation

- index
- modules |
- modules |
- next |
- previous |
- NumPy v1.7 Manual (DRAFT) »
- NumPy Reference »
- Routines »
- Array manipulation routines »