讨论如何将排序函数应用于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”是需要排序的数组。“轴”是指要对数组进行排序的轴。“种类”是指排序的类型,默认值为quicksort。如果数组包含任何其他字段,则“order”是指需要排序的这些字段。
这是适用sort()
于NumPy数组的示例-
示例
import numpy as np my_arr = np.array([[3,56],[19,100]]) print("原始数组为:") print(my_arr) print("sort()函数被调用") print(np.sort(my_arr)) print("沿轴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("原始数组为:") print(my_arr) print("数组按名称排序 ") print(np.sort(my_arr, order = 'Name'))
输出结果
原始数组为: [[ 3 56] [ 19 100]] sort()函数被调用 [[ 3 56] [ 19 100]] 沿轴0排序数组 [[ 3 56] [ 19 100]] 原始数组为: [(b'Will', 20) (b'Jack', 19) (b'Bob', 23)] 数组按名称排序 [(b'Bob', 23) (b'Jack', 19) (b'Will', 20)]
说明
所需的库将导入到环境中。
创建ndarray,并使用“sort”函数对其进行排序。
显示输出。
再次,它沿轴0排序,并且输出显示在控制台上。
创建另一个由名称和年龄组成的数组,并沿轴0对其进行排序。
输出显示在控制台上。