📜  Python中的 numpy.delete()

📅  最后修改于: 2022-05-13 01:55:09.160000             🧑  作者: Mango

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]