dpnp.delete

dpnp.delete(arr, obj, axis=None)[source]

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].

For full documentation refer to numpy.delete.

Parameters:
  • arr ({dpnp.ndarray, usm_ndarray}) -- Input array.

  • obj ({slice, int, array-like of ints or boolean}) -- Indicate indices of sub-arrays to remove along the specified axis. Boolean indices are treated as a mask of elements to remove.

  • axis ({None, int}, optional) -- The axis along which to delete the subarray defined by obj. If axis is None, obj is applied to the flattened array. Default: None.

Returns:

out -- 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.

Return type:

dpnp.ndarray

See also

dpnp.insert

Insert elements into an array.

dpnp.append

Append elements at the end of an array.

Notes

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

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

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

Examples

>>> import dpnp 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, slice(None, None, 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])