云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!
今天,小芯将和大家讨论每天用于数据分析的基本Numpy函数。
“我需要实现的东西不是那么简单,不可能有预建的函数存在”。
这一想法看起来没毛病,然而,是错的。纯粹的Numpy就是如此强大,我敢打赌你并非了解它所提供的所有功能。
那么,事不宜迟,让我们开始吧。
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()的有趣之处不止于此,它还提供两个附加参数:
•第一个参数用来替换满足给定条件的值
•第二个参数用来替换不满足条件的值
我曾经常认为自己的问题很独特,不会有人想到写一个函数来解决它。
尽管在某些情况下,事实可能确实如此,但是大多数时候,你会感觉自己像是个白痴,因为你会发现自己花费几个小时手动实现的功能其实有相应的预建函数。
是不是傻眼了?
云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!