Numpy 数组删除元素

Numpy 数组删除元素

在本文中,我们将介绍如何使用Numpy从数组中删除元素。Numpy是Python的一个很强大的科学计算库,它有许多高效的数组操作,知道如何在数组中删除元素是一个很重要的技能。

阅读更多:Numpy 教程

从一维数组中删除元素

我们首先看看如何从一维数组中删除元素。Numpy提供了两个函数来删除一个数组中的元素:

  • numpy.delete(arr, obj, axis=None)
  • numpy.trim_zeros(filt, trim='fb')

让我们先看看delete函数。该函数从一个数组中删除指定的子数组,返回一个新的数组。以下是该函数的代码示例:

import numpy as np
# 创建一维数组
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 删除第2和第4个元素
b = np.delete(a, [1, 3])
print(b) # [1, 3, 5, 6, 7, 8, 9]

如上所示,输入数组a[1, 2, 3, 4, 5, 6, 7, 8, 9],我们要删除错位的元素,即第2和第4个元素([2, 4])。最后的输出结果是[1, 3, 5, 6, 7, 8, 9]

现在我们来看看另一个函数trim_zeros。该函数从一个一维或二维数组的边缘开始,去除所有连续的0元素。以下是该函数的代码示例:

import numpy as np
# 创建一维数组
a = np.array([0, 0, 0, 1, 2, 3, 0, 0, 0])
# 去除左右两侧连续的0元素
b = np.trim_zeros(a)
print(b) # [1, 2, 3]

如上所示,输入的数组a[0, 0, 0, 1, 2, 3, 0, 0, 0]。该数组有三个连续的零元素,并且位于数组的两侧。trim_zeros函数从两侧去除所有的连续0,并打印出[1,2,3]

从多维数组中删除元素

当我们有多维数组时,删除元素的方式也会有所不同。接下来我们将介绍如何从Numpy多维数组中删除元素。

删除单个元素

通过索引,我们可以删除二维数组中的单个元素。以下是具体步骤:

import numpy as np
# 创建一个二维数组
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 删除第(0,2)位置的元素
b = np.delete(a, (0, 2))
print(b) # [1, 2, 4, 5, 6, 8, 9]

如上所示,我们首先创建一个二维数组a,然后删除索引为(0, 2)的元素。输出结果是一维数组[1, 2, 4, 5, 6, 8, 9]

删除一整行或一整列

如果我们想要从一个多维数组中删除一整行或一整列,我们可以使用delete函数并将axis参数设置为0或1。假设我们有以下的数组:

import numpy as np
# 创建一个二维数组
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

我们可以通过以下代码删除第一行:

b = np.delete(a, 0, axis=0)
print(b)

输出结果为:

[[4 5 6]
 [7 8 9]]

如上所示,我们删除了索引为0的行,即第一行。

同样地,我们可以通过以下代码删除第一列:

b = np.delete(a, 0, axis=1)
print(b)

输出结果为:

[[2 3]
 [5 6]
 [8 9]]

总结

在本文中,我们学习了如何在Numpy中删除数组元素。我们学习了如何删除一维数组中的元素,以及如何删除多维数组中的元素(单个元素、整行或整列)。我们希望这个知识点对你有帮助,使你更好地使用Numpy进行科学计算。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程