统计分析_频度分析
Posted fuyusheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计分析_频度分析相关的知识,希望对你有一定的参考价值。
频度分析-用一定的分类方法将数组分类,统计各分组下样本数量,以图表辅助,用更直观的方式描述出数组的分布趋势。
业务意义:在实际数据分析工作中,经常需要将数据按照某个维度分段进行指标统计,以发现问题和解决问题。
例子:一个班40个学生,考试成绩如下:
[73,87,88,65,73,76,80,95,83,69,55,67,70,94,86,81,87,95,84,92,92,76,69,97,72,90,72,85,80,83,97,95,62,92,67,73,91,95,86,77]
集中趋势
print(‘均值:‘+str(round(np.mean(score),1)),‘中位数:‘+str(np.median(score)),‘众数:‘+str(stats.mode(score)[0][0])) 均值:81.3 中位数:83.0 众数:95
离散程度
print(‘最高分:‘+str(max(score)),‘最低分:‘+str(min(score)),‘极差:‘+str(max(score)-min(score)),‘四分位距:‘+str( np.quantile(score,0.75)-np.quantile(score,0.25)),‘方差:‘+str(round(np.var(score),1)),‘方差:‘+str(round(np.std(score),1))) 最高分:97 最低分:55 极差:42 四分位距:18.5 方差:118.1 方差:10.9
- 最高分97,众数为95说明学生分数在高分段集中,可反应试卷难度不高
- 最低分与均值相差81.3-55=26.5,偏差较大,该同学需要重点关注。
除了以上信息,若只依赖于基础的数据指标,很难对数据做出全面的解读。
数据频度表-按照数据某些维度,将数组分段后进行统计。
bins = np.arange(55,101,5) #成绩分段 bins = pd.cut(df,bins,include_lowest = True,right = False) bins_score = df.groupby(bins) bins_score.count() [55, 60) 1 [60, 65) 1 [65, 70) 5 [70, 75) 6 [75, 80) 3 [80, 85) 6 [85, 90) 6 [90, 95) 6 [95, 100) 6 dtype: int64
从上表中,可以直观的发现,各分段的学生人数较为平均,说明此次考试并没有拉开差距,形成两级分化,另外部分同学分数较低,需要额外关注。
频度直方图
plt.hist(score,bins = 9) plt.show()
箱线图
plt.boxplot(score) plt.show()
小结
在数据分析中,最重要的不是频度分析方法,可是在频度分析中体现的分类思想,将数据维度进行分段统计,更加直观的观察数据发现问题。
2020-04-15 01:54
以上是关于统计分析_频度分析的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段
Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段
Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段