numpy.delete#
- numpy.delete(arr,obj,axis=None)[source]#
Return a new array with sub-arrays along an axis deleted. For a onedimensional array, this returns those entries not returned byarr[obj].
- Parameters:
- arrarray_like
Input array.
- objslice, 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.
- axisint, optional
The axis along which to delete the subarray defined byobj.Ifaxis is None,obj is applied to the flattened array.
- Returns:
- outndarray
A copy ofarr with the elements specified byobj removed. Notethat
deletedoes not occur in-place. Ifaxis is None,out isa flattened 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 furtheruse ofmask.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])
On this page