📜  python 从 numpy 数组中删除一个元素 - Python (1)

📅  最后修改于: 2023-12-03 14:46:11.947000             🧑  作者: Mango

Python:从 NumPy 数组中删除一个元素

在 NumPy 中,我们可以使用 delete() 函数从数组中删除一个或多个元素。

语法
numpy.delete(arr, obj, axis=None)
参数
  • arr:目标数组。
  • obj:要删除的元素或元素的索引。
  • axis:指定要删除的轴。如果未指定,则按展开数组的顺序删除元素。
示例
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 的元素,即数组中的第三个元素 3delete() 函数会返回删除元素后的新数组。

如果我们想要删除多个元素,则可以传递一个由要删除元素的索引组成的列表给 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 的元素,即数组中的第二个和第四个元素 24delete() 函数会返回删除元素后的新数组。

注意,删除元素后并不会影响原始数组,而是返回一个新数组。如果要就地修改原始数组,则需要使用 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 数组中删除一个元素的方法。