如何从NumPy数组中删除特定元素

如何从NumPy数组中删除特定元素

在这篇文章中,我们将讨论如何从NumPy数组中移除特定元素。

从NumPy 1D数组中移除特定元素

使用np.delete()从NumPy数组中删除元素

delete(array_name )方法将被用来做同样的事情。其中array_name是要删除的数组的名称,index-value是要删除的元素的索引。例如,如果我们有一个有5个元素的数组,索引从0到n-1开始。如果我们想删除2,那么2元素的索引是1。 所以,我们可以指定 如果我们想一次删除多个元素,即1,2,3,4,5,你可以在一个列表中指定所有索引元素。

移除一维数组中的一个特定元素

创建一个有5个元素的数组并删除第一个元素的程序。

# import numpy as np
import numpy as np
 
# create an array with 5 elements
a = np.array([1, 2, 3, 4, 5])
 
# display a
print(a)
 
# delete 1 st element
print("remaining elements after deleting 1st element ",
      np.delete(a, 0))

输出:

[1 2 3 4 5]
remaining elements after deleting 1st element  [2 3 4 5]

移除一维数组中的多个元素

创建一个有5个元素的数组并删除第一和最后一个元素的程序。

# import numpy as np
import numpy as np
 
# create an array with 5
# elements
a = np.array([1, 2, 3, 4, 5])
 
# display a
print(a)
 
# delete 1st element and 5th element
print("remaining elements after deleting 1st and last element ",
      np.delete(a, [0, 4]))

输出:

[1 2 3 4 5]
remaining elements after deleting 1st and last element  [2 3 4]

在一维数组中按值删除一个特定的NumPy数组元素

从一个数组中删除8个值。

import numpy as np
arr_1D = np.array([1 ,2, 3, 4, 5, 6, 7, 8])
 
arr_1D = np.delete(arr_1D, np.where(arr_1D == 8))
print(arr_1D)

输出:

[1 2 3 4 5 6 7]

使用索引从一个NumPy中删除多个元素

传递一个包含所有元素的索引的数组,除了要删除的元素的索引,这将从数组中删除该元素。

import numpy as np
# numpy array
arr = np.array([9, 8, 7, 6, 5, 4, 3, 2, 1])
 
# index array with index of all the elements, except index = 5.
# so element at 5th index will be deleted.
indexArray = [0, 1, 2, 3, 4, 6, 7, 8]
 
# passing indexarray to the array as index
arr = arr[indexArray]
 
print(arr)

输出:

[9 8 7 6 5 3 2 1]

从NumPy二维数组中移除特定元素

移除二维数组中的一个列

删去第1栏。

import numpy as np
arr = np.array([[1 ,2, 3, 4],
                  [5, 6, 7, 8],
                  [9, 10, 11, 12]])
 
print(np.delete(arr, 1, axis=1))

输出:

[[ 1  3  4]
 [ 5  7  8]
 [ 9 11 12]]

移除二维数组中的某一行

删去第1行。

import numpy as np
arr = np.array([[1 ,2, 3, 4],
                  [5, 6, 7, 8],
                  [9, 10, 11, 12]])
 
print(np.delete(arr, 1, axis=0))

输出:

[[ 1  2  3  4]
 [ 9 10 11 12]]

移除一个二维数组中的多个元素

从一个二维数组中删除多个元素。在这里,我们要从一个数组中删除第一列和最后一列。

arr = np.delete(arr, [0,3], axis=1)
print(arr)

输出:

[[ 2  3]
 [ 6  7]
 [10 11]]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程