讨论如何将排序函数应用于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对其进行排序。

  • 输出显示在控制台上。

猜你喜欢