标签:back 外部 cut 维度 数组 业务 src 观察 media
频度分析-用一定的分类方法将数组分类,统计各分组下样本数量,以图表辅助,用更直观的方式描述出数组的分布趋势。
业务意义:在实际数据分析工作中,经常需要将数据按照某个维度分段进行指标统计,以发现问题和解决问题。
例子:一个班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
除了以上信息,若只依赖于基础的数据指标,很难对数据做出全面的解读。
数据频度表-按照数据某些维度,将数组分段后进行统计。
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
标签:back 外部 cut 维度 数组 业务 src 观察 media
原文地址:https://www.cnblogs.com/fuyusheng/p/12709980.html