欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

描述性统计指标 - 众数 Mode

程序员文章站 2022-07-05 14:17:09
众数:出现频数最多的变量值,适用于描述具有较多个值的变量,且变量值的分布有明显集中趋势的情况 ......

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

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

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

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 )

运行结果

描述性统计指标 - 众数 Mode