Skip to main content
`Ctrl`+`K`

# numpy.delete

numpy.delete(arr, obj, axis=None)

  Return a new array with sub-arrays along an axis deleted. For a one dimensional array, this returns those entries not returned by arr[obj].

  Parameters:
    arr array_like

      Input array.

    obj slice, int, array-like of ints or bools

      Indicate indices of sub-arrays to remove along the specified axis.

      Changed in version 1.19.0: Boolean indices are now treated as a mask of elements to remove, rather than being cast to the integers 0 and 1.

    axis int, optional

      The axis along which to delete the subarray defined by obj. If axis is None, obj is applied to the flattened array.

  Returns:
    out ndarray

      A copy of arr with the elements specified by obj removed. Note that `delete` does not occur in-place. If axis is None, out is a flattened array.

  See also

  `insert`

    Insert elements into an array.

  `append`

    Append elements at the end of an array.

  Notes

  Often it is preferable to use a boolean mask. For example:

      >>> arr = np.arange(12) + 1
      >>> mask = np.ones(len(arr), dtype=bool)
      >>> mask[[0,2,4]] = False
      >>> result = arr[mask,...]

  Is equivalent to `np.delete(arr, [0,2,4], axis=0)`, but allows further use of mask.

  Examples

      >>> import numpy as np
      >>> arr = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
      >>> arr
      array([[ 1,  2,  3,  4],
             [ 5,  6,  7,  8],
             [ 9, 10, 11, 12]])
      >>> np.delete(arr, 1, 0)
      array([[ 1,  2,  3,  4],
             [ 9, 10, 11, 12]])

      >>> np.delete(arr, np.s_[::2], 1)
      array([[ 2,  4],
             [ 6,  8],
             [10, 12]])
      >>> np.delete(arr, [1,3,5], None)
      array([ 1,  3,  5,  7,  8,  9, 10, 11, 12])