numpy.delete — NumPy v2.6.dev0 Manual

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

Parameters:arrarray_likeInput array.

objslice, int, array-like of ints or boolsIndicate 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.

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

Returns:outndarrayA 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=np.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

>>> importnumpyasnp>>> arr=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])>>> arrarray([[ 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])