描述性统计指标 - 众数 Mode

定义
- 数值型数据
  - 出现频数最多的变量值
- 品质型数据、单项式分组数据
  - 频数最多的组为众数组,该组的变量值(类型)就是众数
- 组距式分组数据
  - 频数最多的组为众数组,通过公式求得众数
  - 公式计算不适用于组距不相等的数据

适用范围
- 位置代表值
- 不会受极端值的影响
- 适用于描述具有较多个值的变量,且变量值的分布有明显集中趋势的情况

问题
大数据背景下,是否需要使用组距式分组数据求众数?

Python求众数的三种方法

 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 )
View Code

运行结果

 

posted on 2019-04-24 16:13  马露天使  阅读(1545)  评论(0编辑  收藏  举报

导航