📅  最后修改于: 2023-12-03 14:46:11.947000             🧑  作者: Mango
在 NumPy 中,我们可以使用 delete()
函数从数组中删除一个或多个元素。
numpy.delete(arr, obj, axis=None)
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
new_arr = np.delete(arr, 2) # 删除数组中索引为 2 的元素
print(new_arr) # [1 2 4 5]
这里,我们从数组 arr
中删除了索引为 2 的元素,即数组中的第三个元素 3
。delete()
函数会返回删除元素后的新数组。
如果我们想要删除多个元素,则可以传递一个由要删除元素的索引组成的列表给 delete()
函数。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
indexes = [1, 3]
new_arr = np.delete(arr, indexes) # 删除数组中索引为 1 和 3 的元素
print(new_arr) # [1 3 5]
这里,我们从数组 arr
中删除了索引为 1 和 3 的元素,即数组中的第二个和第四个元素 2
和 4
。delete()
函数会返回删除元素后的新数组。
注意,删除元素后并不会影响原始数组,而是返回一个新数组。如果要就地修改原始数组,则需要使用 delete()
函数的另一种形式,即使用 out
参数。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
indexes = [1, 3]
np.delete(arr, indexes, out=arr) # 删除数组中索引为 1 和 3 的元素
print(arr) # [1 3 5]
这里,我们将删除元素后的数组直接写回到了原始数组 arr
中,所以最终 arr
的值为 [1, 3, 5]
。
以上就是从 NumPy 数组中删除一个元素的方法。