讨论如何在Python中对NumPy数组应用排序函数?

讨论如何在Python中对NumPy数组应用排序函数?

NumPy是“Numerical”“Python”的缩写,它是一个包含多维数组对象和多个处理数组方法的库。NumPy可用于对数组执行各种操作,可与SciPy、Matplotlib等包结合使用,相当于MatLab的替代品。它是一个开源包,任何人都可以使用。

NumPy包中最重要的对象是一个称为“ndarray”的n维数组,它定义了相同类型项目的集合。这些ndarray中的值可以使用索引(基于0的索引)来访问,每个ndarray中的每个元素在内存空间中占用相同大小的块。可以使用“dtype”函数查找ndarray中每个元素的类型。

可以使用数组切片提取ndarray中的项目,它表示为数组标量类型的对象。NumPy中存在多种排序函数,可以以不同的方法实现,每个函数的执行速度、最坏情况性能、所需内存等都不同。

NumPy中的“sort”函数返回传递给它的数组的排序副本。

numpy.sort(arr, axis, kind, order)
Python

这里,“arr”是需要排序的数组,“axis”是要沿着其排序数组的轴,“kind”是排序类型,其默认值为快速排序。如果数组包含其他字段,“order”指的是需要排序的这些字段。

以下是在NumPy数组上应用sort()的示例-

更多Python相关文章,请阅读:Python 教程

示例

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'))
Python

输出

原始数组为:
[[ 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)]
Python

解释

  • 引入所需的库。
  • 创建ndarray并使用“sort”函数对其进行排序。
  • 显示输出。
  • 沿着轴0再次排序并在控制台上显示输出。
  • 创建另一个由名称和年龄组成的数组,并沿轴0进行排序。
  • 在控制台上显示输出。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册