numpy庫
numpy.bincount() 解釋:
一句話版:返回從0到數組中最大值,每個值在數組中出現的次數
形象版:對於數組[11, 4, 4, 11, 3, 9, 8],看做是編號分別爲11, 4, 4, 11, 3, 9, 8的7個小球。爲了將小球歸置整齊,需要放到對應編號的桶中,小球的最大編號爲11,所以需要11+1=12個桶,同樣編號從0-11。最後按照桶編號依次輸出桶中包含的小球個數(整個過程其實就是計數排序)。很顯然編號必須是非負整數。
詳細版參考這裏
注:假如衆數不止一個,只能返回值最小的一個
a = [11, 4, 4, 11, 3, 9, 8]
import numpy as np
counts = np.bincount(a)
np.argmax(counts) ==> 4
scipy庫
scipy.stats.mode():
官方函數說明:返回衆數和衆數出現次數,如果衆數不止一個,返回值最小的。
from scipy.stats import mode
mode(a) ==> ModeResult(mode=array([4]), count=array([2]))
collections庫
collections.Counter():計數方法,以字典的形式返回元素統計結果
注:假如衆數不止一個,同樣只能返回一個,但是返回的是最早出現的元素
from collections import Counter
Counter(a).most_common(1) ==> [(11, 2)]
pandas庫
注:可以返回所有的衆數
pd.Series(a).mode() ==> 0 4
1 11
dtype: int64