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

NumPyNumPyBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

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

虚拟机使用提示

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL numpy(("NumPy")) -.-> numpy/ArrayBasicsGroup(["Array Basics"]) numpy(("NumPy")) -.-> numpy/ArrayManipulationGroup(["Array Manipulation"]) numpy(("NumPy")) -.-> numpy/AdvancedFeaturesGroup(["Advanced Features"]) numpy(("NumPy")) -.-> numpy/SpecialTechniquesGroup(["Special Techniques"]) numpy/ArrayBasicsGroup -.-> numpy/multi_array("Multi-dimensional Array Creation") numpy/ArrayManipulationGroup -.-> numpy/reshape("Reshape") numpy/AdvancedFeaturesGroup -.-> numpy/sort_search("Sort and Search") numpy/SpecialTechniquesGroup -.-> numpy/struct_array("Structured Arrays") subgraph Lab Skills numpy/multi_array -.-> lab-86500{{"使用算法对 NumPy 数组进行排序"}} numpy/reshape -.-> lab-86500{{"使用算法对 NumPy 数组进行排序"}} numpy/sort_search -.-> lab-86500{{"使用算法对 NumPy 数组进行排序"}} numpy/struct_array -.-> lab-86500{{"使用算法对 NumPy 数组进行排序"}} end

导入 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() 函数的不同参数,我们沿不同的轴和字段对数组中的元素进行了排序。