Numpy 数组删除元素
在本文中,我们将介绍如何使用Numpy从数组中删除元素。Numpy是Python的一个很强大的科学计算库,它有许多高效的数组操作,知道如何在数组中删除元素是一个很重要的技能。
阅读更多:Numpy 教程
从一维数组中删除元素
我们首先看看如何从一维数组中删除元素。Numpy提供了两个函数来删除一个数组中的元素:
让我们先看看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进行科学计算。