敲黑板!你(可能)不知道的4个重要Numpy函数


全文共1260字,预计学习时长4分钟

来源:Unsplash

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

 

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

 

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

 

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

 

来源:Unsplash

Numpy是唯一需要导入的库:

argmin(), argmax(), argsort()

 

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

 

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

 

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

 

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

 

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

 

allclose()

 

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

 

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

 

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

 

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

 

intersect1d()

 

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

 

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

 

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

 

where()

 

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

 

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

 

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

 

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

 

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

 

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

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

 

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

 

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

来源:Unsplash

 

是不是傻眼了?

推荐阅读专题

留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货

编译组:林柯秀

相关链接:

https://towardsdatascience.com/top-4-numpy-functions-you-dont-know-about-probably-28fcd5d7174f

如需转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017 论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你

发布了691 篇原创文章 · 获赞 2327 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/duxinshuxiaobian/article/details/103839800
今日推荐