flopscope.

flopscope.numpy.delete

fnp.delete(arr, obj, axis=None)[flopscope source][numpy 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]`.

Adapted from NumPy docs np.delete

Areacore
Typecustom
NumPy Refnp.delete
Cost
per-operation
Flopscope Context

Return array with sub-arrays deleted along axis. Cost: num deleted.

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

Notes

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

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

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

Examples

>>> import flopscope.numpy as fnp
>>> arr = flops.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]])
>>> flops.delete(arr, 1, 0)
array([[ 1,  2,  3,  4],
       [ 9, 10, 11, 12]])
>>> flops.delete(arr, flops.s_[::2], 1)
array([[ 2,  4],
       [ 6,  8],
       [10, 12]])
>>> flops.delete(arr, [1,3,5], None)
array([ 1,  3,  5,  7,  8,  9, 10, 11, 12])