嗨,大家好,我是機智哥。今天我們講講Numpy庫中還有哪些主要的統計函式,都有些什麼用法。前面我們分別講解了怎樣獲得一個隨機數或隨機陣列,怎樣對資料求和、求平均值、求最大值最小值和中位數、求方差和標準差,並利用平均值和標誰差判斷資料的穩定性和優劣。今天,我們再簡要介紹unique()和bincont()函式。
首先是unique()函式。unique()函式的作用是返回其引數陣列中所有不同的值,並且按照從小到大的順序排列。相當於在一個數組中找出所有不重複的數值,有點集合的意思。
下面通過一個例子介紹unique()的用法,用randint()建立10個在0 到 9 範圍之內的隨機整數陣列,通過unique(a)可以找到陣列a 中所有的整數,並按照升序排列:
>>>np.random.seed(42)>>>a=np.random.randint0, 8, 10)>>>a[6, 3, 4, 6, 2, 7, 4, 4, 6, 1]>>>np.unique(a)[1, 2, 3, 4, 6, 7]
unuque()函式能夠找出所有不重複的數值,那麼,我們怎麼知道這些數值重複了多少次呢?這就用到了以下要講的bincount()函式啦。
其次,我們再介紿bincount()函式。bincount()對整數陣列中各個元素所出現的次數進行統計,它要求陣列中的所有元素都是非負的。其返回陣列中第i 個元素的值表示整數i 出現的次數。具體看程式碼:
>>>a=np.random.randint(0, 8, 10)>>>a[6, 3, 4, 6, 2, 7, 4, 4, 6, 1]>>>np.bincount(a)array([0, 1, 1, 1, 3, 0, 3, 1])
返回的結果可知,在陣列a 中有0個0,1個 1、1個 2、1個 3、3 個 4、0個5、3 個 6 和 1個 7 , 其中0、5 沒有在陣列a 中出現。結果理解起來有點困難,但也還直觀。
好啦,今天就講了unique()、bincount()兩個函式,實際上Numpy中還有很多統計函式,大家需要了解的話,可以直接檢視Numpy的說明文件,使用起來也不復雜,還能起到事半功倍的效果。
最新評論