numpy中的argpartition
numpy.argpartition(a, kth, axis=-1, kind='introselect', order=None)
在快排算法中,有一个典型的操作:partition。这个操作指:根据一个数值x,把数组中的元素划分成两半,使得index前面的元素都不大于x,index后面的元素都不小于x。
numpy中的argpartition()函数就是起的这个作用。对于传入的数组a,先用O(n)复杂度求出第k大的数字,然后利用这个第k大的数字将数组a划分成两半。
此函数不对原数组进行操作,它只返回分区之后的下标。一般numpy中以arg开头的函数都是返回下标而不改变原数组。
此函数还有另外两个参数:
- kind:用于指定partition的算法
- order:表示排序的key,也就是按哪些字段进行排序
当我们只关心topK时,我们不需要使用np.sort()对数组进行全量排序,np.argpartition()已经够用了。
参考资料
https://docs.scipy.org/doc/numpy/reference/generated/numpy.argpartition.html
转载于:https://www.cnblogs.com/weiyinfu/p/9794551.html
numpy中的argpartition相关推荐
- python创建列向量_关于Numpy中的行向量和列向量详解
关于Numpy中的行向量和列向量详解 行向量 方式1 import numpy as np b=np.array([1,2,3]).reshape((1,-1)) print(b,b.shape) 结 ...
- Numpy中矩阵运算
Numpy中矩阵运算 1 矩阵和向量 1.1 矩阵 矩阵,英文matrix,和array的区别矩阵必须是2维的,但是array可以是多维的. 如图:这个是 3×2 矩阵,即 3 行 2 列,如 m 为 ...
- Numpy中数组间运算
Numpy中数组间运算 1 数组与数的运算 [可以直接进行运算] arr = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]]) arr + ...
- Numpy 中的 arange 函数
1. 概述 Numpy 中 arange() 主要是用于生成数组,具体用法如下: 2. arange() 2.1 语法 numpy.arange(start, stop, step, dtype = ...
- python使用numpy中的flatten函数将2D numpy数组拉平为1Dnumpy数组、使用np.linalg.matrix_rank函数计算2D numpy数组的秩(rank)
python使用numpy中的flatten函数将2D numpy数组拉平为1Dnumpy数组.使用np.linalg.matrix_rank函数计算2D numpy数组的秩(rank) 目录
- python使用numpy中的np.mean函数计算数组的均值、np.var函数计算数据的方差、np.std函数计算数组的标准差
python使用numpy中的np.mean函数计算数组的均值.np.var函数计算数据的方差.np.std函数计算数组的标准差 目录
- Python使用numpy中的hstack函数水平堆叠(horizontally stack)数组实战
Python使用numpy中的hstack函数水平堆叠(horizontally stack)数组实战 目录 Python使用numpy中的hstack函数水平堆叠(horizontally stac ...
- Python使用numpy中trim_zeros函数去除首尾0值的语法
Python使用numpy中trim_zeros函数去除首尾0值的语法 目录 Python使用numpy中trim_zeros函数去除首尾0值的语法 #numpy中trim_zeros
- numpy中ravel函数、flatten函数的功能及差异
numpy中ravel函数.flatten函数的功能及差异 >>> import numpy as np >>> a = np.arange(20).reshape ...
最新文章
- Nodejs随学随记(杂)
- python将小时数换成分钟_如何在Python中将datetime.timedelta转换为分钟、小时?
- linux复制目录命令夹,linux复制目录(文件夹)和打包命令
- 单元测试——Winfrom
- php向后兼容,PHP: 不向后兼容的变更 - Manual
- Scrapy学习篇(十)之下载器中间件(Downloader Middleware)
- 传统武术家为什么看起来厉害?谈实战的重要性
- 使用python解决算法和数据结构--使用栈实现进制转换
- activemq linux 100M,Linux下安装 activemq 并指定jdk 1.8(示例代码)
- 操作系统面试知识点总结
- 前后端RSA加密梳理
- pureftpd mysql.conf_Pure-ftpd.conf 配置详解
- pyqt5中QGraphicsView弹出菜单
- java springboot房地产信息管理系统+实训报告+PPT+功能需求报告
- linux录制声卡声音_在deepin上进行声音录制就是这么简单,娱乐工作两不误
- 运行matlabR2014a出现找不到指定模块C:MATLAB7\bin\win32\atlas_Athlon.dll怎么办?
- 神舟linux装win7教程,神舟笔记本win10系统改win7系统详细图文步骤
- 精伦iDR211二代证阅读器技术规格说明书
- flutter : Failed to find assets path for “Frameworks/App.framework/flutter_assets“
- python数据写入csv会丢失0字头_python csv模块生成CSV文件,0字头数字缺失,汉字乱码...
热门文章
- 在 Windows 上安装 TensorFlow(转载)
- Power Query获取整理多来源数据
- PageHelper.cs(20170223)
- c++模板类被继承时他的成员不能被子类看到
- java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.getMergedRegion
- 利用thread和sleep生成字符串的伪随机序列
- 服务器内容推送技术(转)
- CloudStack之nfs
- ASP.NET 通用 权限 管理系统
- XML SOAP应用简介