Numpy的argpartion函数

numpy.argpatition() 应用详解 + TopK值 numpy.argpartition(a, kth, axis=-1, kind=‘introselect’, order=None) (一)一般numpy中以arg开头的函数都是返回下标,而不改变原数组。 参数a是指传入的Numpy.array 参数kth是指列表中下标为k位置应该放置该数组中第k大的值 例1: import numpy as np arr = np.array([3, 9, 1, 0, 2, 1, 7, 5]) # 返回的是下标,由于python是从0开始计算而非1,所以kth=0表示第0位置应当放置该数组中最小的值 idx = np.argpartition(arr, 0 立即下载

Numpy的argpartion函数

一、np.argpartion()

Numpy的argpartion函数来源于快排算法中的一个典型操作partition,即根据一个数值x,把数组中的元素划分成两半,使得index前面的元素都不大于x,index后面的元素都不小于x。
np.argpartition不对原数组操作,只返回一个按照上述操作排序过后的index。通过这个函数可以高效地找到 N 个最大值的索引并返回 N 个值。在给出索引后,我们可以根据需要进行值排序。

import numpy as np
array = np.array([10, 7, 4, 3, 2, 2, 5, 9, 0, 4, 6, 0])
#返回一个索引,比原数组第5大(从0开始)的数小的数在这个数之前,比这个数大的数在它之后。
index = np.argpartition(array, 4)
#输出,新索引
print(index)
#[ 4 11  8  5  3  2  9  6  1 10  7  0]
#按这个新索引可以重新排列数组
print(array[index])
#[ 2  0  0  2  3  4  4  5  7  6  9 10]
#第5大的数是3,比3小的在3之前,比3大的在3之后

二、输出top5

np.argpartition的一个重要应用就是高效输出最大的几个值(如top-5),因为不用像np.sort对所有元素排序。

#还是上边那个数组,输出top5
array = np.array([10, 7, 4, 3, 2, 2, 5, 9, 0, 4, 6, 0])
array[np.argpartition(array, -5)[-5:]]
#输出:[ 5,  7,  6,  9, 10]

先排序,比倒数第5个数大的,都排在这个数后边,返回索引,然后用[-5:]把最后5个(最大的5个的索引)取出来,然后再array[index]就把最大的5个数(top5)取出来了。此法非常高效,因为不用对原数组操作,只返回索引。

参考:
1.numpy中的argpartition
2.numpy中的argpartition用法
3.Argpartition:在数组中找到最大的 N 个元素。

MATLAB功率谱函数psd与pwelch的使用 在网上看到 clear; Fs=1000; n=0:1/Fs:1; y=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); Nfft=1000; window=hanning(100); noverlap=20; dflag='none'; [Pxx,f]=psd(y,Nfft,Fs,window,noverlap); figure plot(f,10*log10(Pxx)); xlabel('frequency/Hz');ylab 阅读详情

相关推荐

Python爬虫实战(基础篇)—23—爬取微信小程序<随机目的地旅行>生成随机地址(附GUI版)

爬取微信小程序<随机目的地旅行>生成随机地址

weixin_42636075的博客 1229

numpy中的argpartition用法

一、np.argpartion()Numpy的argpartion函数来源于快排算法中的一个典型操作partition,即根据一个数值x,把数组中的元素划分成两半,使得index前面的元素都不大于x,index后面的元素都不小于x。np.argpartition不对原数组操作,只返回一个按照上述操作排序过后的index。通过这个函数可以高效地找到 N 个最大值的索引并返回 N 个值。在给出索引后,我们可以根据需要进行值排序。

anshiquanshu的专栏 2176

K-means在关键词聚类中的尝试

K-means在文本聚类中的尝试 K-means算法是无监督的聚类算法。它的算法思想是:先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。 K-means算法的关键点在于: 初始k个聚类中心的选择 距离的计...

BigPig_LittleTail的博客 5573

np.argpartition的作用

最近看到了argpartition,有在网上搜,但自己编数据测试是最可信的办法 个人理解: 对数组进行快排,并返回索引数组,第二参数位置的索引找到后就停止算法,故不保证全部有序,第二参数可以是一个值或list import numpy as np arr = np.array([46, 57, 23, 39, 1, 10, 0, 120]) arr.sort() b=arr[::-1] a=arr arr = np.array([46, 57, 23, 39, 1, 10, 0, 120]) np.argp

terry的博客 2529

人工智能学习之机器人路径规划优化

A* AStar 人工智能 机器人路径规划优化

RongLin02的博客 7073

OpenCV实战系列——图像线条提取

基于内容的图像分析,需要从构成图像的像素集合中提取有意义的特征。轮廓、线条、区域等是基本的图像基元,可用于描述图像中包含的元素。本节将介绍如何提取重要的图像线条特征。

m0_58523831的博客 1万+

Python基础(11)-- numpy.argpartition函数

在深挖自己研究领域的代码过程中,发现np.argpartition函数出现在核心代码部分,并且出现的频率很高,对于我理解这段代码也有很大的帮助,决定彻底搞懂,话不多说,Let’s go!

奋斗の博客 1940

编程实践:寒武纪-LLM&VLM模型量化&部署

本文介绍了在MLU370-S4平台上对大模型(LLM/VLM)进行量化的两种方法:SmoothQuant和WeightOnly。以Qwen2-VL-2B模型为例,详细说明了两种量化方式的命令行参数配置,包括必须设置的per_channel选项和量化参数调整建议。量化完成后,提供了模型部署的具体命令示例,包含设备分配、端口设置、并行度等关键参数。文章强调在MLU370芯片上需要手动设置block_size,并指出两种量化方式只能二选一使用。配套资料已上传至百度网盘供参考。

微风❤水墨 510

机器学习基础

机器学习的基础

weixin_50645221的博客 868

第95章 安全工程师:Shell 脚本实现安全扫描、漏洞检测、日志审计

随着网络安全威胁日益复杂,传统的手动安全管理已无法满足现代企业的安全需求。Shell 脚本为安全工程师提供了强大的自动化能力,能够实现 7×24 小时的安全监控、快速漏洞扫描、智能日志分析和实时威胁响应。本章将系统介绍如何使用 Shell 脚本构建完整的安全防护体系,从基线检查到实时监控,帮助你打造自动化的安全运维能力。

猪猪侠 91

6、Cocos2D游戏开发:精灵添加与角色实现

本文详细介绍了在Cocos2D游戏开发中如何添加背景精灵和玩家角色精灵。通过创建GameScene场景、组织项目资源、使用多分辨率图像适配不同设备,并深入讲解了将角色拆分为上下半身以实现更真实瞄准效果的原理。文章还解析了Cocos2D的图像搜索机制、锚点概念及其应用,以及如何通过父子节点关系管理复合角色。最终实现了猎人角色在场景中的正确显示与定位,为后续动画和交互功能打下基础。

e3f4g5的博客 90

【Numpy进阶】np.argpartion()函数

[1]numpy.argpatition() 应用详解 + TopK值 [2]NumPy的实用函数整理之argpartition [3]Numpy的argpartion函数

sxl的博客 356

机器学习实战7-基于机器学习算法预测相亲成功率

大家好,我是微学AI,今天给大家介绍一下机器学习实战7-基于机器学习算法预测相亲成功率,随着社会的发展,大家都忙于事业,对自己的终身大事就耽搁了,相亲是一种传统的寻找伴侣的方式,随着时代的发展,相亲的方式也在不断地改变。在这个过程中,了解相亲双方的信息以及预测相亲是否成功变得越来越重要。本文将介绍如何使用随机森林算法对相亲成功进行预测,通过分析男女双方的房子、车子、长相、家庭条件、父母情况、生活习惯、学历、性格、兴趣等因素,来预测相亲是否成功。

微学AI的博客 3035

Python库Numpy的argpartition函数浅析

最近在研究用Python实现K邻近算法的KD树,发现一个奇怪的现象,就是为什么没有在网上搜到关于numpy的argpartition的任何中文的文章。难道是我搜索方法有问题吗?我还是自己写一篇简单的文章说说这个有意思的函数。 这个函数有什么用呢?我举几个例子,您可能就明白她的作用了。 例子一:找到数组的最大最小值,虽然这不是很合适,牛刀小用了。 >>> import numpy as np >>

weixin_37722024的博客 3万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python numpy.argpartition

a = [9,1,8,2,7,3,0,6,4,5,14,56,110] ind = np.argpartition(a, -4)[-4:][::-1] b = [] for i in ind: print a[i] b.append(a[i]) print 'b:',b c = sorted(b,reverse=True) print c 结果: 9 14 56 110 b: [9...

nanxiaoting的博客 1137

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Matplotlib的几个典型绘制实验

  ➤01 不同线性绘制 x = arange(0, 3.0, 0.1) plt.plot(x, sin(x), 'r--', x, x*2, 'c1', x, x**2, 'b+') ▲ 几款不同绘制线型结果   ➤02 多图绘制 x1 = arange(0.1, a, 0.1) x2 = arange(0.1, a, 0.05) plt.subplot(211) plt.plot(x1, f1(x1), 'go', x2, f2(x2), 'k') plt.grid(True

TSINGHUAJOKING 1036

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

关于np.argpartition()那点事

关于np.argpartition()那点事 最近发现个np.argpartition()这东西,但是翻了好多博客还是看不明白,最后自己总结了很久很久,终于弄明白了一点 下面展示一些 内联代码片。 import numpy as np data=np.array([10,90,30,50,40,80,20,70,60]) # 0 1 2 3 4 5 6 7 8 # 0 6 2 4 3 8 7 5 1 k = 5 pr

bester_man的博客 1246

Python numpy.argpartition函数方法的使用

NumPy 的 argpartition 函数用于将数组沿指定轴进行部分排序,并将元素的索引(partition)返回到一个新数组中。它不会改变原始数组,而是返回一个包含元素排序后索引的新数组。argpartition 函数使用快速排序算法或其他指定算法将数组沿指定轴进行部分排序。它不会改变原始数组,而是返回一个包含元素排序后索引的新数组。例如,如果 k = 5,则函数将返回前 5 个元素的索引,其余元素的索引将按升序排列。array: 要进行部分排序的 NumPy 数组。一个包含元素排序后索引的新数组。

weixin_42098295的博客 733

numpy.argpartition()的作用

上面是官方文档的说明. numpy.argpartition(a, kth, axis=- 1, kind='introselect', order=None) 使用 kind 关键字指定的算法沿给定轴执行间接分区。 它以分区顺序沿给定轴返回与该索引数据具有相同形状的索引数组。 1.8.0 版中的新功能。 参数 类似数组 要排序的数组。 kthint 或整数序列 要分区的元素索引。 第 k 个元素将处于其最终排序位

江南蜡笔小新 3264

np.argpartition 是 NumPy 库中的一个非常有用的函数,具体用法如下:

是 NumPy 库中的一个非常有用的函数,它用于寻找数组中的第 k个最小元素的索引,并按此标准对数组元素进行部分排序,但它不会完全排序整个数组。这个函数返回的是数组元素排序后的索引,而不是排序后的元素本身。这使得在处理大数据集时特别有用,尤其是当你需要快速找到一个或多个元素的位置而不关心整个数组的完全排序时。

qlkaicx的博客 736

numpy—np.argpartition

numpy.argpartition(a, kth, axis=-1, kind='introselect', order=None) 描述 简单点理解就是在数组a的前kth-1个元素都比第kth-1个元素小,后kth-1个元素都比第kth-1个元素大,但是前面后面是没有顺序关系的,下面根据案例代入,一试便会 案例 ...

柳杰的博客 662

numpy.argpartition() 函数介绍

numpy.argpartition() 函数介绍

NKhth的博客 455

python(np.argpartition())输出 前n个最大/小值所对应的索引

利用python numpy标准函数np.argpartition(),输出 前n个最大/小值所对应的索引(输出的索引是无序的) 需要注意: 1、输出索引所对应的数值是乱序的。这种方法复杂度要低 import numpy as np def topk_partition(matrix, k, top_max=True): ''' 输出matrix矩阵的最大/小前k个值的...

weixin_41457494的博客 4041

NumPy的实用函数整理之argpartition

NumPy的实用函数整理之argpartitionNumPyargpartition() NumPy NumPy是使用Python进行科学计算的基本包。它包括以下内容: 强大的n维数组对象 复杂的(广播)函数 集成C/ C++和Fortran代码的工具 有用的线性代数、傅里叶变换和随机数功能 除了其明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。可以定义任意数据类型。这使得NumPy可以无缝且快速地与各种数据库集成。 argpartition() numpy.argpartition(a,

学习爱好者fz的博客 6450

numpy中的argpartition

numpy.argpartition(a, kth, axis=-1, kind='introselect', order=None) 在快排算法中,有一个典型的操作:partition。这个操作指:根据一个数值x,把数组中的元素划分成两半,使得index前面的元素都不大于x,index后面的元素都不小于x。 numpy中的argpartition()函数就是起的这个作用。对于传入的数组...

9258
上一篇: 临时设置环境变量(python和Linux命令行)
下一篇: numpy.clip使数组中的值保持在一定区间内
lscelory
博客等级 码龄9年 36粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值