定義
- 數值型數據
- 出現頻數最多的變量值
- 品質型數據、單項式分組數據
- 頻數最多的組爲衆數組,該組的變量值(類型)就是衆數
- 組距式分組數據
- 頻數最多的組爲衆數組,經過公式求得衆數
- 公式計算不適用於組距不相等的數據數組
適用範圍
- 位置表明值
- 不會受極端值的影響
- 適用於描述具備較多個值的變量,且變量值的分佈有明顯集中趨勢的狀況ide
問題
大數據背景下,是否須要使用組距式分組數據求衆數?大數據
Python求衆數的三種方法spa
1 # 求衆數的方法(數值型和品質型) 2 import numpy as np 3 from scipy import stats 4 import pandas as pd 5 6 numlist1 = [1,2,3,4,5,6,7,5,9,8,6,7,3,5] #數值型數據 7 numlist2 = ['1','1','5', '3','3','2',] # 品質型數據 8 9 # 方法一:numpy 模塊- 適用於非負數據集 10 counts = np.bincount( numlist2 ) #np.bincount方法返回一個長度爲nums最大值的列表 11 res = np.argmax(counts) 12 print( '方法一求衆數:', type(res), res ) 13 14 # 方法二:scipy模塊 15 res = stats.mode( numlist2 ) 16 print( '方法二求衆數: ', type(res), res[0] ) 17 #問題:有多個衆數時只返回一個值 18 19 #方法三: pandas模塊 - 可顯示多個衆數 20 s = pd.Series(numlist2) #也能夠構建爲DateFrame結構 21 res = s.mode() 22 print( '方法三求衆數: ', type(res), res.values )
運行結果3d