雲栖号: 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()的有趣之處不止于此,它還提供兩個附加參數:
•第一個參數用來替換滿足給定條件的值
•第二個參數用來替換不滿足條件的值
我曾經常認為自己的問題很獨特,不會有人想到寫一個函數來解決它。
盡管在某些情況下,事實可能确實如此,但是大多數時候,你會感覺自己像是個白癡,因為你會發現自己花費幾個小時手動實作的功能其實有相應的預建函數。
是不是傻眼了?
原文釋出時間:2020-1-4
本文作者:讀芯術
本文來自阿裡雲雲栖号合作夥伴“
讀芯術”,了解相關資訊可以關注“
”