Python中的 numpy.delete()
numpy.delete()函数返回一个新数组,其中删除了子数组以及提到的轴。
句法:
numpy.delete(array, object, axis = None)
参数 :
array : [array_like]Input array.
object : [int, array of ints]Sub-array to delete
axis : Axis along which we want to delete sub-arrays. By default, it object is applied to
flattened array
返回 :
An array with sub-array being deleted as per the mentioned object along a given axis.
代码 1:从一维数组中删除
Python
# Python Program illustrating
# numpy.delete()
import numpy as geek
#Working on 1D
arr = geek.arange(5)
print("arr : \n", arr)
print("Shape : ", arr.shape)
# deletion from 1D array
object = 2
a = geek.delete(arr, object)
print("\ndeleteing {} from array : \n {}".format(object,a))
print("Shape : ", a.shape)
object = [1, 2]
b = geek.delete(arr, object)
print("\ndeleteing {} from array : \n {}".format(object,a))
print("Shape : ", a.shape)
Python
# Python Program illustrating
# numpy.delete()
import numpy as geek
#Working on 1D
arr = geek.arange(12).reshape(3, 4)
print("arr : \n", arr)
print("Shape : ", arr.shape)
# deletion from 2D array
a = geek.delete(arr, 1, 0)
'''
[[ 0 1 2 3]
[ 4 5 6 7] -> deleted
[ 8 9 10 11]]
'''
print("\ndeleteing arr 2 times : \n", a)
print("Shape : ", a.shape)
# deletion from 2D array
a = geek.delete(arr, 1, 1)
'''
[[ 0 1* 2 3]
[ 4 5* 6 7]
[ 8 9* 10 11]]
^
Deletion
'''
print("\ndeleteing arr 2 times : \n", a)
print("Shape : ", a.shape)
Python
# Python Program illustrating
# numpy.delete()
import numpy as geek
arr = geek.arange(5)
print("Original array : ", arr)
mask = geek.ones(len(arr), dtype=bool)
# Equivalent to np.delete(arr, [0,2,4], axis=0)
mask[[0,2]] = False
print("\nMask set as : ", mask)
result = arr[mask,...]
print("\nDeletion Using a Boolean Mask : ", result)
输出 :
arr :
[0 1 2 3 4]
Shape : (5,)
deleteing arr 2 times :
[0 1 3 4]
Shape : (4,)
deleteing arr 3 times :
[0 3 4]
Shape : (4,)
代码 2:
Python
# Python Program illustrating
# numpy.delete()
import numpy as geek
#Working on 1D
arr = geek.arange(12).reshape(3, 4)
print("arr : \n", arr)
print("Shape : ", arr.shape)
# deletion from 2D array
a = geek.delete(arr, 1, 0)
'''
[[ 0 1 2 3]
[ 4 5 6 7] -> deleted
[ 8 9 10 11]]
'''
print("\ndeleteing arr 2 times : \n", a)
print("Shape : ", a.shape)
# deletion from 2D array
a = geek.delete(arr, 1, 1)
'''
[[ 0 1* 2 3]
[ 4 5* 6 7]
[ 8 9* 10 11]]
^
Deletion
'''
print("\ndeleteing arr 2 times : \n", a)
print("Shape : ", a.shape)
输出 :
arr :
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
Shape : (3, 4)
deleteing arr 2 times :
[[ 0 1 2 3]
[ 8 9 10 11]]
Shape : (2, 4)
deleteing arr 2 times :
[[ 0 2 3]
[ 4 6 7]
[ 8 10 11]]
Shape : (3, 3)
deleteing arr 3 times :
[ 0 3 4 5 6 7 8 9 10 11]
Shape : (3, 3)
代码 3:使用布尔掩码执行删除
Python
# Python Program illustrating
# numpy.delete()
import numpy as geek
arr = geek.arange(5)
print("Original array : ", arr)
mask = geek.ones(len(arr), dtype=bool)
# Equivalent to np.delete(arr, [0,2,4], axis=0)
mask[[0,2]] = False
print("\nMask set as : ", mask)
result = arr[mask,...]
print("\nDeletion Using a Boolean Mask : ", result)
输出 :
Original array : [0 1 2 3 4]
Mask set as : [False True False True True]
Deletion Using a Boolean Mask : [1 3 4]