NumPy 排序、搜索和计数函数
NumPy提供了各种与排序相关的函数。这些排序函数实现了不同的排序算法,每个算法都有其执行速度、最坏情况下的性能、所需工作空间以及算法的稳定性。下表显示了三种排序算法的比较。
kind | speed | worst case | work space | stable |
---|---|---|---|---|
‘quicksort’ | 1 | O(n^2) | 0 | no |
‘mergesort’ | 2 | O(n*log(n)) | ~n/2 | yes |
‘heapsort’ | 3 | O(n*log(n)) | 0 | no |
numpy.sort()
sort()函数返回输入数组的排序副本。它有以下参数:
在哪里,
序号 | 参数和描述 |
---|---|
1 | a 需要排序的数组 |
2 | axis 数组要排序的轴。如果没有指定,数组将被展平,在最后一个轴上进行排序。 |
3 | kind 默认为快速排序。 |
4 | order 如果数组包含字段,指定字段的排序顺序。 |
示例
它将产生以下输出−
numpy.argsort()
numpy.argsort() 函数在输入数组上执行间接排序,沿给定轴使用指定的排序方式,返回数据的索引数组。这个索引数组被用来构建排序后的数组。
示例
它将产生以下输出:
numpy.lexsort()
这个函数使用键序列进行间接排序。可以将这些键看作是电子表格中的一列。函数返回一个索引数组,可以使用该数组来获取排序后的数据。注意,最后一个键是排序的主键。
示例
它将产生以下输出-
NumPy模块有一些用于在数组中搜索的函数。可以找到最大值、最小值以及满足给定条件的元素。
numpy.argmax()和numpy.argmin()
这两个函数分别返回给定轴上最大和最小元素的索引。
示例
它将产生以下输出−
numpy.nonzero()
numpy.nonzero()函数返回输入数组中非零元素的索引。
示例
它将产生以下输出−
numpy.where()
where()函数返回满足给定条件的输入数组中元素的索引。
示例
它将产生以下输出 –
numpy.extract()
extract()函数返回满足任何条件的元素。
它将产生以下输出 –