在这篇文章中,我们将讨论如何从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 npimport numpy as np # create an array with 5 elementsa = np.array([1, 2, 3, 4, 5]) # display aprint(a) # delete 1 st elementprint("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 npimport numpy as np # create an array with 5# elementsa = np.array([1, 2, 3, 4, 5]) # display aprint(a) # delete 1st element and 5th elementprint("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 nparr_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 arrayarr = 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 indexarr = arr[indexArray] print(arr)输出:
[9 8 7 6 5 3 2 1]从NumPy二维数组中移除特定元素移除二维数组中的一个列删去第1栏。
import numpy as nparr = 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 nparr = 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]]