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
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. Ifaxisis None,objis applied to the flattened array.
Returns
- out:ndarray
A copy of
arrwith the elements specified byobjremoved. Note that delete does not occur in-place. Ifaxisis None,outis a flattened array.
See also
- we.flops.insert Insert elements into an array.
- we.flops.append Append elements at the end of an array.
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])