使用算法对 NumPy 数组进行排序

Beginner

介绍

排序是一种根据给定条件将数组中的元素按有序序列排列的过程。在 NumPy 库中,提供了多种函数来执行基于不同排序算法(如快速排序、堆排序和归并排序)的排序操作。在本实验中,我们将学习如何使用不同的排序算法对 NumPy 中的 ndarray 进行排序。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到 Notebook 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,请随时向 Labby 寻求帮助。实验结束后请提供反馈,我们将及时为你解决问题。

导入 NumPy 库

在这一步中,我们将导入 NumPy 库,这是执行排序操作所必需的。

import numpy as np

沿轴排序

在这一步中,我们将根据特定轴对数组中的元素进行排序。为了对数组进行排序,我们将使用 NumPy 的 sort() 函数。

a = np.array([[17, 15], [10, 25]])
arr1 = np.sort(a, axis = 0)
print("Sorting Along first axis : \n")
print(arr1)

沿最后一个轴排序

在这一步中,我们将根据最后一个轴对数组进行排序。

b = np.array([[1, 15], [20, 18]])
arr2 = np.sort(b, axis = -1)
print("\nSorting along last axis : \n")
print(arr2)

沿无轴排序

在这一步中,我们将沿无轴对数组中的元素进行排序,排序前数组会被展平。

c = np.array([[12, 15], [10, 1]])
arr3 = np.sort(c, axis = None)
print("\nSorting Along none axis : \n")
print(arr3)

使用字段对数组排序

在这一步中,我们将使用字段对数组进行排序。

d = np.dtype([('name', 'S10'),('marks',int)])
arr = np.array([('Mukesh',200),('John',251)],dtype = d)
print("Sorting data ordered by name")
print(np.sort(arr,order = 'name'))

总结

在本实验中,我们学习了 NumPy 库中的排序功能。我们还了解了 numpy.sort() 函数的语法、参数和返回值。通过使用 numpy.sort() 函数的不同参数,我们沿不同的轴和字段对数组中的元素进行了排序。