分享好友 最新动态首页 最新动态分类 切换频道
Python Numpy中返回下标操作函数-节约时间的利器
2024-12-25 15:45

如果觉得Python慢,那么首先应该想到是不是没有用对。

Numpy是Python中自带的一个数值计算库,包含了大量数值计算的常用方法。其底层大量使用C/C++(超过50%的代码量),矩阵计算调用LAPACK库(Fortran),同时在大量代码优化的层面做了工作,使得其内置方法速度奇快。

Numpy的设计也颇具人性化, 有许多具有特色又好用的方法可供使用。其中以开头函数就是专门为返回下标(集)而设计的,总共有5个这样的函数,它们简单易用,在许多问题里可以将程序极度简化,从而提高我们的工作效率。

1.

这个函数与基本一致,主要用于查找元素所在的位置

 

如果拿到一个需要返回元素下标的任务,我们从直接考虑的话可能想到的是去遍历元素,再利用一个临时变量来计数,在匹配过程中返回这个计数值。虽然实现起来也很简单,但速度不是很快。而用这种方法,简单易懂,同时又超快。

2.

最大,最小值的下标。这种操作应该也是我们非常常用的,而这两个函数的用法实际上和的用法是完全一样的。

 
3.

这个函数非常厉害,它首先将输入的数组进行升序排列,再将排列后各元素原下标依次返回。这种操作在一些需要联动排序的时候特别管用。比如我们之前讲过的在PCA的计算过程中,需要对特征值从大到小排序,同时要对它们对应的特征向量也排序。那么这个时候直接返回特征值排序后的原下标就能极大程序上简化我们的代码,同时又能节约大量的时间。

 

上面最后一步主要是为了用它检验函数的正确性,同时也方便对照分析。

根据第4行的结果,我们来看前2个元素。它返回值表示:排序后的数组中第一个元素应该是原数组中的第7个元素,第二个元素应该是原数组中的第5个元素。那么看看第7行,完全正确。

当然,还有一个问题是本身只进行升序排列,那么当我们需要降序时直接将下标进行反序即可

 
4.

这也是一个非常神奇的函数,它主要是对应函数。如果只看文档说明很有可能理解错误。所以我们先简单说明一下函数的主要参数的含义。

 

这里是 我们的原数组,比如好理解的一种方式是若将进行排序,那么排序后的数组中的下标为个元素应该处在其最终的位置。这句话有一点不太好理解。当然如果我们学过归并排序(快排的基础)的话,就可以理解这种分组的思路。

这个算法最终返回的下标里面,下标为的元素一定处在原数组升序排列后的最终位置,它前面所有值全部小于等于它,后面所有值全部大于等于它但其前后所有元素内的顺序是不关心的。所以这样就自然而然地能想到,由于它只考虑该元素的最终位置,那么时间复杂度可以在很大程度上降低。

先看一个简单的例子

 

这里可以清楚地看到,排序后的元素中下标为的元素23的前面已经全部小于它,后面已经全部大于它,因此这个元素已经处在其排序后的最终位置了。

那么利用这个功能,我们主要是可以用它来找出元素中第小的元素或者是第大的元素所在的下标。


最新文章
360AI搜索并列全球三大AI搜索 卫冕全球最大AI原生搜索引擎
近日,独立AI产品榜单“AI产品榜(aicpb.com)”10月网站榜单更新发布,三六零集团(下称“360”)旗下360AI搜索(sou.com)用户访问量位列国内总榜第一名、全球搜索引擎榜第二名。榜单显示,360AI搜索以超过第2名到第20名访问量总和的优势,
ai怎么是使用弧形工具绘制漂亮的图形?
ai中想要使用弧形工具绘制漂亮的图形,该怎么绘制呢?下面我们就来看看详细的教程。1、在工具箱中找到弧形工具,在画面中点击左键,拖动鼠标,可以画出任意角度,任意长短的弧线。按住shift键,拖动鼠标,可以绘制正直的弧线。2、按住alt键
7月手机畅销排行出炉:中高端被OPPO和华为垄断
我们都知道,目前的手机市场其实正处于一个临近饱和的状态,似乎各大厂商的日子都不像之前几年那样好过。近日,市场调查机构旭日大数据发布2017年7月国产智能手机畅销机型排行榜,数据显示热销手机前十名中,小米手机销量为第十名。(旭日大
B站APP下拉【64xl.com霸屏顶掉=删除效果】抖音搜索关键词推广,下拉框优化:提升搜索效率,为用户提供精准搜索词
很多朋友对于下拉框优化可能比较陌生,本文就由全网天下的徐国祥来给大家讲一下相关的内容以及它的作用。什么是百度下拉框?百度下拉框的正式名称是百度搜索推荐词,又称百度搜索联想词或百度搜索下拉列表,统称为百度下拉框和百度下拉词。
130平装修预算预计要多少(价格明细)
随着三胎政策的开放,小户型已经不能满足很多家庭的住房需求,不少家庭青睐于中大户型的房子,其中130平的房子的价格在很多人的接受范围内,非常受欢迎,当然,其装修费用自然不低。那么130平装修预算预计要多少?下面就跟小编一起来了解下
20个AI绘画软件大聚会,AI绘画APP软件全都有
AI绘画技术是当今最具有发展潜力的领域之一,可以帮助人们在很短的时间内创作出高质量的艺术作品,而AI绘画网站、软件和APP是运用这一技术的载体。下面将逐一介绍目前比较好的AI绘画网站、软件和APP。20个AI绘画工具盘点:一、AI绘画网站1
ChatGPT语音助手已开发适应于教育场景的视觉功能
近日,OpenAI公司在直播中表示,其为ChatGPT开发的类似人类的对话功能“ChatGPT Advanced Voice (高级语音模式)”正在实现视觉化,Advanced Voice由OpenAI的多模态模型GPT-4o支持。这意味着OpenAI 终于发布了近七个月前演示的ChatGPT实时视
drivedroid 汉化版最新版v0.10.50
《drivedroid汉化版最新版》这是一款安卓手机U盘软件,这里为大家提供最新的中文汉化版本,让你的手机充当启动盘,功能十分强大神奇,让你的手机与众不同,欢迎大家前来下载。页面点击获得root授权即可全新的文件读取和使用功能让你的手机
AI文献综述写作助手:一键生成高效学术综述工具盘点
在当今信息爆炸的时代学术研究者面临着海量的文献资料怎么样高效地从这些资料中提炼出有价值的信息,编写出高优劣的文献综述成为了一个亟待应对的疑惑。文献综述写作助手作为一种新兴的学术工具,应运而生。本文将为您盘点一系列高效、便捷
相关文章
推荐文章
发表评论
0评