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

简介: NumPy提供了多种排序方法,包括快速排序、归并排序与堆排序,各有不同的速度、最坏情况性能、工作空间及稳定性特点。此外,`numpy.where()`函数能够返回满足特定条件的元素索引,例如在数组`x`中查找大于3的元素,并利用所得索引打印出符合条件的所有元素。此教程详细解释了不同排序算法的特点及其适用场景,并通过实例展示了`numpy.where()`函数的具体应用。

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

NumPy 排序、条件筛选函数

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

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

numpy.where()

numpy.where() 函数返回输入数组中满足给定条件的元素的索引。

实例

import numpy as np

x = np.arange(9.).reshape(3, 3)
print ('我们的数组是:')
print (x)
print ( '大于 3 的元素的索引:')
y = np.where(x > 3)
print (y)
print ('使用这些索引来获取满足条件的元素:')
print (x[y])

输出结果为:

我们的数组是:
[[0. 1. 2.]
[3. 4. 5.]
[6. 7. 8.]]
大于 3 的元素的索引:
(array([1, 1, 2, 2, 2]), array([1, 2, 0, 1, 2]))
使用这些索引来获取满足条件的元素:
[4. 5. 6. 7. 8.]

目录
相关文章
|
6月前
|
BI 索引 Python
利用Numpy读取iris数据集并进行排序、去重、求统计量等操作实战(附源码)
利用Numpy读取iris数据集并进行排序、去重、求统计量等操作实战(附源码)
379 0
|
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 排序、条件筛选函数 5
NumPy中的排序方法及特性对比,包括快速排序、归并排序与堆排序的速度、最坏情况性能、工作空间及稳定性分析。并通过`numpy.argmax()`与`numpy.argmin()`函数演示了如何获取数组中最大值和最小值的索引,涵盖不同轴方向的操作,并提供了具体实例与输出结果,便于理解与实践。
24 5
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 2
介绍NumPy` 中的排序方法与条件筛选函数。通过对比快速排序、归并排序及堆排序的速度、最坏情况性能、工作空间需求和稳定性,帮助读者选择合适的排序算法。此外,还深入讲解了 `numpy.argsort()` 的使用方法,并通过具体实例展示了如何利用该函数获取数组值从小到大的索引值,并据此重构原数组,使得其变为有序状态。对于学习 `NumPy` 排序功能来说,本教程提供了清晰且实用的指导。
35 7
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 6
NumPy中的排序方法及特性对比,包括快速排序、归并排序与堆排序的速度、最坏情况性能、工作空间和稳定性等差异。同时,通过实例展示了`numpy.nonzero()`函数的应用,该函数可返回数组中非零元素的索引。
17 2
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 1
NumPy提供了多种排序方法,包括快速排序、归并排序与堆排序等,每种方法在速度、最坏情况性能、工作空间及稳定性方面各有特点。`numpy.sort()`函数可返回数组排序副本,支持沿指定轴排序及字段排序。示例展示了如何对二维数组及含字段的数组进行排序操作。
31 3
|
3月前
|
索引 Python
Numpy进阶之排序小技巧
Numpy进阶之排序小技巧
|
2月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 3
本教程详细介绍了NumPy中的排序方法及条件筛选函数。NumPy提供了包括快速排序、归并排序和堆排序在内的多种排序算法,每种算法各有特点。此外,还介绍了`numpy.lexsort()`函数,它能对多个序列进行排序,适用于如小升初考试录取等场景。通过示例展示了如何使用该函数对姓名和年级数据进行排序。
17 0