讨论如何在Python的NumPy数组中应用排序函数?
NumPy指的是“数值” “Python”。它是一个包含多维数组对象和多种有助于处理数组的方法的库。NumPy可以用来对数组执行各种各样的操作。它与SciPy、Matplotlib等包结合使用。NumPy+Matplotlib可以理解为MatLab的替代品。它是一个开源包,这意味着任何人都可以使用它。
NumPy包中最重要的对象是n维数组,称为“ndarray”。它定义了相同类型项目的集合。可以使用索引(基于0的索引)访问ndarray中的这些值。ndarray中的每个项目在内存空间中占用相同大小的块。可以使用“dtype”函数找到ndarray中每个元素的类型。
可以使用数组切片提取ndarray中的项目。它表示为数组标量类型的对象。NumPy中存在各种排序函数。它们可以在不同的方法中实现,并且这些函数中的每一个都基于它们的执行速度、最坏情况下的性能、所需的内存等等而有所不同。
NumPy中的“sort”函数返回作为输入传递给它的数组的已排序副本。
numpy.sort(arr, axis, kind, order)
这里,“arr”是要排序的数组。“axis”指的是要沿其排序数组的轴。“kind”指的是排序类型,默认值为快速排序。如果数组包含任何其他字段,“order”指的是需要排序的这些字段。
以下是将sort()应用于NumPy数组的示例:
示例
import numpy as np my_arr = np.array([[3,56],[19,100]]) print("Original array is :") print(my_arr) print("The sort() function called") print(np.sort(my_arr)) print("Sorting array along axis 0") print(np.sort(my_arr, axis = 0)) dt = np.dtype([('Name', 'S6'),('Age', int)]) my_arr = np.array([("Will",20),("Jack",19),("Bob", 23)], dtype = dt) print("Original array is :") print(my_arr) print("Array sorted by name ") print(np.sort(my_arr, order = 'Name'))
输出
Original array is : [[ 3 56] [ 19 100]] The sort() function called [[ 3 56] [ 19 100]] Sorting array along axis 0 [[ 3 56] [ 19 100]] Original array is : [(b'Will', 20) (b'Jack', 19) (b'Bob', 23)] Array sorted by name [(b'Bob', 23) (b'Jack', 19) (b'Will', 20)]
解释
- 将所需的库导入环境中。
- 创建ndarray,并使用“sort”函数对其进行排序。
- 显示输出。
- 再次,它沿轴0排序,并在控制台上显示输出。
- 创建另一个包含姓名和年龄的数组,并沿轴0对其进行排序。
- 在控制台上显示输出。
广告