敲黑板!你(可能)不知道的4个重要Numpy函数-深蓝源码网


时间: 2020-09-03 00:08:26 人气: 2274 评论: 0

云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

image

今天,小芯将和大家讨论每天用于数据分析的基本Numpy函数。

“我需要实现的东西不是那么简单,不可能有预建的函数存在”。

这一想法看起来没毛病,然而,是错的。纯粹的Numpy就是如此强大,我敢打赌你并非了解它所提供的所有功能。

那么,事不宜迟,让我们开始吧。

image

Numpy是唯一需要导入的库:

image

argmin(), argmax(), argsort()

好吧,有着难懂命名的这些函数究竟是什么呢?

这确实没有什么难懂之处,但是如果你不想自己实现逻辑(提示:这是不应该的),这3个函数十分适合你。

argmin()函数将返回最小值的索引。若对之前使用的数组应用这一函数,它将返回最小值的索引位置:

image

你应该已经猜到,argmax()会做相反的事情——返回最大值的索引:

image

另一个好用的函数是argsort(),它将返回已排序数组的索引。有许多它可能会派上用场的情况:

image

allclose()

最后需要注意的是allclose()函数。如果两个数组中的项在偏差范围内相等,则返回True。它提供了一种检查两个数组是否相似的好方法,在某些情况下,手动实现这一功能可能会有些麻烦。

首先声明两个列表,并确保无论何处的各项差都不大于0.2:

image

如果以0.1的偏差调用allclose()函数,则返回False:

image

但是若将阈值更改为0.2,则应返回True:

image

intersect1d()

intersect1d()函数将返回两个数组的交集——两个数组中的共同项。与以前的函数不同,它不会返回索引位置,而是会返回实际值。

首先声明两个具有一些共同元素的数组:

image

现在可以使用此函数来查找共同的元素:

image

where()

where()函数会返回满足特定条件的数组元素。可以用一个例子来探讨它。

首先声明一个表示某种等级的数组(该数组是任意的):

image

现在可以使用where()来查找所有大于3的等级:

image

注意它如何返回索引位置。

朋友们,where()的有趣之处不止于此,它还提供两个附加参数:

•第一个参数用来替换满足给定条件的值
•第二个参数用来替换不满足条件的值

image

我曾经常认为自己的问题很独特,不会有人想到写一个函数来解决它。

尽管在某些情况下,事实可能确实如此,但是大多数时候,你会感觉自己像是个白痴,因为你会发现自己花费几个小时手动实现的功能其实有相应的预建函数。

image

是不是傻眼了?

云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

原文发布时间:2020-1-4
本文作者:读芯术
本文来自阿里云云栖号合作伙伴“读芯术”,了解相关信息可以关注“读芯术

深蓝源码网-www.69shenlan.com

技术沙龙 教程文章 热点综合

评论