如何从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]]