数据分析中位数的应用
浏览:1525次 出处信息
过于平淡的折线图,总是觉得不能够更好的表达数据的内涵。如下做个对比
A图
B图
对比A图和B图,哪个表达的重点更清晰呢?那必然是B图了,B图的特点是把最高的n个数字用不一样的图标展示了,起到了一目了然的效果。那么问题来来了?
怎么从一组数据中计算出这个分界点呢?
下面提供两个参考的算法:
平均数:是指一组数据中所有数据之和再除以数据的个数,它是反映数据集中趋势的一项指标。
中位数:把一组数据按从小到大的顺序排列,在中间的一个数字(或两个数字的平均值)叫做这组数据的中位数。
但是我们会发现平均值可以被极端数据影响,表示平均水平,中位数表示中间水平。所以这里要用的是中位数的算法。
写了一个中位数的函数
//中位数 function mid_num($arr) { //排序 sort($data); $cnt=count($data); if($cnt%2==0) { $x1=$cnt/2-1; $x2=($cnt/2+1)-1; return ($data[$x1]+$data[$x2])/2; }else{ $id=round($cnt/2); return $data[$id-1]; } }
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:HashMap解决hash冲突的方法
后一篇:Linus:为何对象引用计数必须是原子的 >>
文章信息
- 作者:数据抓取 来源: 数据抓取
- 标签: 中位数
- 发布时间:2014-12-30 12:48:15
建议继续学习
近3天十大热文
- [16] Go Reflect 性能
- [14] iOS可视化编程 Tips 之“无需代码设置
- [13] 浅谈Web安全验证码
- [13] iTerm2 (Mac Terminal)
- [12] osx平台上lol英雄联盟launcher启
- [12] 手把手教你CSRF防护
- [12] 基于HTTP缓存轻松实现客户端应用的离线支持
- [11] 系统工程师的自我修养- sed篇
- [11] Android设计中的.9.png
- [11] iOS下自己动手造无限循环图片轮播