讨论如何在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对其进行排序。
  • 在控制台上显示输出。

更新于:2020年12月10日

486 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告