Numpy 二维数组中删除行
在本文中,我们将介绍如何从 Numpy 二维数组中删除行。
Numpy 是用 Python 进行科学计算的基本库之一。 它提供了很多用于数组操作的函数,并且能够处理高维数据。 Numpy 的二维数组可以方便地存储和处理矩阵数据。
在 NumPy 的二维数组中,每个元素都有一个唯一的坐标,通过行和列来表示。 数组的行数和列数可以通过调用 shape 属性获得。
阅读更多:Numpy 教程
删除单个行
删除二维数组中的一行,可以简单地使用 numpy.delete() 函数。 我们可以指定要删除的行数,例如:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
new_arr = np.delete(arr, 1, axis=0)
print(new_arr)
这个示例代码中,我们创建一个 3×3 的数组。 然后我们指定要删除的行索引为 1,并在 axis 参数中指定要删除的行。 在这个例子中,输出将是一个新的二维数组,没有第二行:
[[1 2 3]
[7 8 9]]
在这个例子中,从二维数组中删除第一行。
删除多个行
我们也可以同时删除二维数组中的多行。 我们只需要将行索引放入数组中,并将其作为参数传递给 numpy.delete() 函数。 例如:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
new_arr = np.delete(arr, [0, 2], axis=0)
print(new_arr)
这个示例代码中,我们创建一个 3×3 的数组。 然后我们指定要删除的行索引为 0 和 2,并在 axis 参数中指定要删除的行。 在这个例子中,输出将是一个新的二维数组,没有第一行和第三行:
[[4 5 6]]
在这个例子中,从二维数组中删除第一行和第三行。
删除多个不相邻的行
我们也可以同时删除二维数组中不相邻的多行。这需要使用 numpy.delete() 函数和 numpy.newaxis。您可以使用以下命令示例:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
idx = [0, 2]
new_arr = np.delete(arr, idx[:, np.newaxis], axis=0)
print(new_arr)
这个示例代码中,我们创建了一个 3×3 的数组。列出要删除的非相邻行的索引并存储在 idx 数组中。 参见新轴,我们改变它的形状,然后在 axis=0 中删除索引。在这个例子中,输出将是一个新的二维数组,没有第一行和第三行:
[[4 5 6]]
在这个例子中,从二维数组中删除第一行和第三行。
总结
本文中,我们介绍了如何从 Numpy 二维数组中删除行。 我们学习了删除单个行、多个行和多个不相邻行的示例。numpy.delete() 函数使得可以轻松地删除数组中的元素。掌握了这个技巧,您将能够更轻松地处理 Numpy 二维数组中的行。
极客笔记