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

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

4分钟

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


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

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


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


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


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


Numpy是唯一需要导入的库:

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

argmin(), argmax(), argsort()


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


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


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


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

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


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

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


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

allclose()


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


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


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

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


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

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


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

intersect1d()


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


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


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

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


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

where()


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


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


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

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


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

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


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


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

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


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

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


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

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


是不是傻眼了?

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

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

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


分享到:


相關文章: