NumPy 教程 之 NumPy 排序、条件筛选函数 2

简介: 这段教程介绍了NumPy中的排序方法及其特性,包括快速排序、归并排序和堆排序的速度、最坏情况性能、工作空间及稳定性。重点讲解了`numpy.argsort()`函数的应用,该函数可返回数组值从小到大的索引值,并通过一个示例展示了如何使用此函数对数组进行排序及重构。

NumPy 教程 之 NumPy 排序、条件筛选函数 2

NumPy 排序、条件筛选函数

NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较。

种类 速度 最坏情况 工作空间 稳定性
'quicksort'(快速排序) 1 O(n^2) 0 否
'mergesort'(归并排序) 2 O(nlog(n)) ~n/2 是
'heapsort'(堆排序) 3 O(n
log(n)) 0 否

numpy.argsort()

numpy.argsort() 函数返回的是数组值从小到大的索引值。

实例

import numpy as np

x = np.array([3, 1, 2])
print ('我们的数组是:')
print (x)
print ('\n')
print ('对 x 调用 argsort() 函数:')
y = np.argsort(x)
print (y)
print ('\n')
print ('以排序后的顺序重构原数组:')
print (x[y])
print ('\n')
print ('使用循环重构原数组:')
for i in y:
print (x[i], end=" ")

输出结果为:

我们的数组是:
[3 1 2]

对 x 调用 argsort() 函数:
[1 2 0]

以排序后的顺序重构原数组:
[1 2 3]

使用循环重构原数组

1 2 3

目录
相关文章
|
2月前
|
数据处理 Python
Pandas快速统计重复值的2种方法
Pandas快速统计重复值的2种方法
103 1
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 8
NumPy提供了多种排序方法,包括快速排序、归并排序及堆排序,各有不同的速度、最坏情况性能、工作空间和稳定性特点。此外,NumPy还提供了`numpy.extract()`函数,可以根据特定条件从数组中抽取元素。例如,在一个3x3数组中,通过定义条件选择偶数元素,并使用该函数提取这些元素。示例输出为:[0., 2., 4., 6., 8.]。
26 8
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 7
NumPy提供了多种排序方法,包括快速排序、归并排序与堆排序,各有不同的速度、最坏情况性能、工作空间及稳定性特点。此外,`numpy.where()`函数能够返回满足特定条件的元素索引,例如在数组`x`中查找大于3的元素,并利用所得索引打印出符合条件的所有元素。此教程详细解释了不同排序算法的特点及其适用场景,并通过实例展示了`numpy.where()`函数的具体应用。
23 6
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 2
介绍NumPy` 中的排序方法与条件筛选函数。通过对比快速排序、归并排序及堆排序的速度、最坏情况性能、工作空间需求和稳定性,帮助读者选择合适的排序算法。此外,还深入讲解了 `numpy.argsort()` 的使用方法,并通过具体实例展示了如何利用该函数获取数组值从小到大的索引值,并据此重构原数组,使得其变为有序状态。对于学习 `NumPy` 排序功能来说,本教程提供了清晰且实用的指导。
34 7
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 5
NumPy中的排序方法及特性对比,包括快速排序、归并排序与堆排序的速度、最坏情况性能、工作空间及稳定性分析。并通过`numpy.argmax()`与`numpy.argmin()`函数演示了如何获取数组中最大值和最小值的索引,涵盖不同轴方向的操作,并提供了具体实例与输出结果,便于理解与实践。
24 5
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 6
NumPy中的排序方法及特性对比,包括快速排序、归并排序与堆排序的速度、最坏情况性能、工作空间和稳定性等差异。同时,通过实例展示了`numpy.nonzero()`函数的应用,该函数可返回数组中非零元素的索引。
17 2
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 1
NumPy提供了多种排序方法,包括快速排序、归并排序与堆排序等,每种方法在速度、最坏情况性能、工作空间及稳定性方面各有特点。`numpy.sort()`函数可返回数组排序副本,支持沿指定轴排序及字段排序。示例展示了如何对二维数组及含字段的数组进行排序操作。
29 3
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 4
NumPy提供了多种排序方法,包括快速排序、归并排序及堆排序等,具有不同的执行速度、最坏情况性能、工作空间需求及稳定性特征。教程涵盖了`msort`、`sort_complex`、`partition`和`argpartition`等函数的使用方法,并通过实例展示了复数排序与分区排序的应用。例如,`np.sort_complex()`用于复数排序,`np.partition()`实现基于指定位置的分区排序,而`argpartition()`则帮助快速找到数组中的特定值。
12 0
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 3
本教程详细介绍了NumPy中的排序方法及条件筛选函数。NumPy提供了包括快速排序、归并排序和堆排序在内的多种排序算法,每种算法各有特点。此外,还介绍了`numpy.lexsort()`函数,它能对多个序列进行排序,适用于如小升初考试录取等场景。通过示例展示了如何使用该函数对姓名和年级数据进行排序。
16 0